Страница 1 из 1

Помогите разобраться с раздачей инета с пулом адресов

Добавлено: 2017-12-30 0:13:20
Духовитин
Товарищи, с наступающими праздниками всех!

Помогите пожалуйста найти изъян в настройке ната на сервере. Делал всё на основе статья на этом сайте: http://www.lissyara.su/articles/freebsd ... #example_7

Моя ситуация такая:
провайдером выдан пул адресов /29
мне надо разные подсети выводить в инет через разные ip адреса. Что-то не получается. На роутере инет есть, а клиенты в инет не идут.

Помогите пожалуйста, ткните носом. У меня отличия от 7-го примера Лисяры в том, что у него клиенты равномерно распределяются по внешним адресам (в смысле пакеты из сетки), а мне надо по определённым правилам закреплять тот или иной траффик за нужным ip'ом.

Код: Выделить всё

#!/bin/sh

FW="/sbin/ipfw -q"

extIF=rl0
intIF=re0

IP_56=1.2.3.56
IP_57=1.2.3.57
IP_58=1.2.3.58
IP_59=1.2.3.59
IP_60=1.2.3.60

# Opened ports on each IP
TCP_56=25,80,443,465,22,22001
TCP_57=25,465,22
TCP_58=22
TCP_59=22
TCP_60=22

PRX_PORTS=80,443

# Clear all previous data
${FW} flush
${FW} table all flush

# Custom IPFW settings
# ${FW} setautoincr 10

# Table with NAT'ed LANS
${FW} table 1 add 192.168.1.0/24
${FW} table 1 add 192.168.2.0/24
${FW} table 1 add 192.168.3.0/24
${FW} table 1 add 192.168.4.0/24
${FW} table 1 add 192.168.5.0/24
${FW} table 1 add 192.168.6.0/24
${FW} table 1 add 10.0.0.1/32
${FW} table 1 add 10.1.1.0/24
${FW} table 1 add 10.1.2.0/24

# Used forward DNS Servers
${FW} table 2 add 8.8.8.8/32
${FW} table 2 add 8.8.4.4/32

# RFC addresses
${FW} table 3 add 192.168.0.0/16
${FW} table 3 add 172.16.0.0/12
${FW} table 3 add 10.0.0.0/8
${FW} table 3 add 169.254.0.0/16

${FW} add allow all from any to me 22
${FW} add allow all from me 22 to any

${FW} add check-state

${FW} add allow all from any to any via lo0
${FW} add allow all from any to any via lo1
${FW} add allow all from any to any via lo2
${FW} add allow all from any to any via ${intIF}

${FW} add deny log all from any to table\(3\) in recv ${extIF}
${FW} add deny log all from table\(3\) to any in recv ${extIF}
${FW} add deny log all from any to 127.0.0.0/8
${FW} add deny log all from 127.0.0.0/8 to any
${FW} add deny log icmp from any to any frag
${FW} add deny log icmp from any to 255.255.255.255 in via ${extIF}
${FW} add deny log icmp from any to 255.255.255.255 out via ${extIF}
${FW} add deny log all from any to me 53 in via ${extIF}
${FW} add deny log tcp from any to ${IP_56} not ${TCP_56} in via ${extIF} setup
${FW} add deny log tcp from any to ${IP_57} not ${TCP_57} in via ${extIF} setup
${FW} add deny log tcp from any to ${IP_58} not ${TCP_58} in via ${extIF} setup
${FW} add deny log tcp from any to ${IP_59} not ${TCP_59} in via ${extIF} setup
${FW} add deny log tcp from any to ${IP_60} not ${TCP_60} in via ${extIF} setup

# Tags to packets. Пока пытаюсь выпустить все подсети через 56-ой адрес.
${FW} add count tag 56 all from table\(1\) to any in recv ${intIF}

${FW} nat 1 config ip ${IP_56} unreg_only reset same_ports \
        redirect_port   tcp     10.1.1.2:25 25 \
        redirect_port   tcp     10.1.1.4:80 80 \
        redirect_port   tcp     10.1.1.4:443 443 \
        redirect_port   tcp     10.1.1.2:465 465 \
        redirect_port   tcp     10.1.1.2:993 1993 \
        redirect_port   tcp     192.168.0.95:22 22001

${FW} nat 2 config ip ${IP_57} unreg_only reset same_ports \
        redirect_port   tcp     10.1.1.2:25 25 \
        redirect_port   tcp     10.1.1.2:465 465

# DNS Related rules
${FW} add allow all from me 53 to any keep-state
${FW} add allow all from me to table\(2\) 53 out via ${extIF} keep-state

# For traffic going from me to internet
${FW} add skipto 2000 tag 56 all from me to any out xmit ${extIF}

${FW} add nat 2 all from any to any out xmit ${extIF} tagged 57
${FW} add nat 2 all from any to ${IP_57} in recv ${extIF}

${FW} add 2000 nat 1 all from any to any out xmit ${extIF} tagged 1
${FW} add nat 1 all from any to ${IP_56} in recv ${extIF}

${FW} add allow all from any to any
Отправлено спустя 27 минут 16 секунд:
Ладно, посыпаю голову пеплом, как уже не впервые, стоит написать просительный пост на форуме, как сам дохожу. Сделал пошагово по статье, вдмчиво читая комментарий к прохождениям пакетов в представленной схеме. Вроде работает.

Помогите разобраться с раздачей инета с пулом адресов

Добавлено: 2018-03-18 20:56:43
Alex Keda
у меня бывает в процессе написания просветление нисходит
подозреваю, пока пишешь - формализуешь что ты хочешь и что у тебя в итоге получается

и сам начинаешь понимать что же ты делаешь не так...