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

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Духовитин
мл. сержант
Сообщения: 125
Зарегистрирован: 2014-12-17 8:46:05

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

Непрочитанное сообщение Духовитин » 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 секунд:
Ладно, посыпаю голову пеплом, как уже не впервые, стоит написать просительный пост на форуме, как сам дохожу. Сделал пошагово по статье, вдмчиво читая комментарий к прохождениям пакетов в представленной схеме. Вроде работает.
Кто не рискует - тот не пьёт шампанского.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35454
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

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

Непрочитанное сообщение Alex Keda » 2018-03-18 20:56:43

у меня бывает в процессе написания просветление нисходит
подозреваю, пока пишешь - формализуешь что ты хочешь и что у тебя в итоге получается

и сам начинаешь понимать что же ты делаешь не так...
Убей их всех! Бог потом рассортирует...