Как сделать хитрый нат

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Riskator
рядовой
Сообщения: 10
Зарегистрирован: 2007-12-10 16:12:32

Как сделать хитрый нат

Непрочитанное сообщение Riskator » 2010-02-05 12:46:04

В хозяйстве имеется типовой шлюз с двумя сетевухами и натом, который выводит в мир внутр. сеть через 192.168.1.1 и пробрасывает порты снаружи через 195.1.1.1 Есть так же пара сервисов к которым нужно подключаться снаружи по порту 100 (редирект делать нельзя), для этого был добыт еще один адрес 195.1.1.2 и повешен на другую сетевуху, для неё запущен нат /sbin/natd -a 195.1.1.2 -p 8669 -f /etc/natd2.conf. В фаере добавлена пара правил:

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

divert 8669 ip from 192.168.1.0/24 100 to any out via 195.1.1.2
divert 8669 ip from any to 195.1.1.2 in via xl0
Пакет внутрь проходит нормально, а ответ посылается через 195.1.1.1.

Как победить? :crazy:

Хостинговая компания 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/

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Как сделать хитрый нат

Непрочитанное сообщение hizel » 2010-02-05 13:27:51

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

ipfw show
проверяйте последовательность прохождения пакетов по nat-ам
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Riskator
рядовой
Сообщения: 10
Зарегистрирован: 2007-12-10 16:12:32

Re: Как сделать хитрый нат

Непрочитанное сообщение Riskator » 2010-02-05 14:42:34

em0=195.1.1.1
xl0=195.1.1.2

divert 8669 ip from 192.168.1.0/24 100 to any out via xl0
divert 8669 ip from any to 195.1.1.2 in via xl0
divert 8668 ip from any to 195.1.1.1 in via em0
divert 8668 ip from 192.168.1.0/24 to any out via em0

allow tcp from any to any dst-port 100
allow tcp from any 100 to any

Как проверку сделать?

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Как сделать хитрый нат

Непрочитанное сообщение hizel » 2010-02-05 14:50:44

ого так у вас две сетвые карты, тогда вам брать исходник из примера для двух шлюзов тоесть fwd или setfib использовать
ээ, кстати а как оно работает? обе сетевые карты в один хаб?
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Riskator
рядовой
Сообщения: 10
Зарегистрирован: 2007-12-10 16:12:32

Re: Как сделать хитрый нат

Непрочитанное сообщение Riskator » 2010-02-05 15:27:31

Ага, две. :drinks:
Попробовал сначала назначить алиас на одну - интерфейс падает, разбираться времени нет, поэтому воткнул вторую карту в свитч.

Можно ли пакет от сервака 192.168.1.10 завернуть в нат 8669?

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Как сделать хитрый нат

Непрочитанное сообщение hizel » 2010-02-05 15:56:04

по идее у вас все верно, то что проходит к 100-ому порту попадает в первый нат
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Как сделать хитрый нат

Непрочитанное сообщение terminus » 2010-02-05 17:35:13

Riskator писал(а):Ага, две. :drinks:
Попробовал сначала назначить алиас на одну - интерфейс падает, разбираться времени нет, поэтому воткнул вторую карту в свитч.

Можно ли пакет от сервака 192.168.1.10 завернуть в нат 8669?
С какими параметрами делали алиас?
Маска должна была быть 255.255.255.255

---

те правила которые вы привели работать не будут так как на выходе пакеты не попадут во второй нат на em0 - маршрут по умолчанию идет через старый интерфейс.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Riskator
рядовой
Сообщения: 10
Зарегистрирован: 2007-12-10 16:12:32

Re: Как сделать хитрый нат

Непрочитанное сообщение Riskator » 2010-02-08 13:41:02

Да, маска такая.
Попробовал назначать нат по тупому на адреса:
/sbin/natd -f natd1.conf -p 8669 -a 195.1.1.1
/sbin/natd -f natd1.conf -p 8668 -a 195.1.1.2

divert 8669 ip from any to any via 195.1.1.1
divert 8668 ip from any to any via 195.1.1.2
allow tcp from any to any dst-port 100
allow tcp from any 100 to any

оказалось что на алиасе нат не работает - только на основном адресе :st: :%) :-?

Riskator
рядовой
Сообщения: 10
Зарегистрирован: 2007-12-10 16:12:32

Re: Как сделать хитрый нат

Непрочитанное сообщение Riskator » 2010-02-08 13:52:32

А если ставить маску выданную провайдером 255.255.255.240, то отрабатывает тот нат, правило divert которого стоит в rc.firewall первым.
Жесть :evil:

Riskator
рядовой
Сообщения: 10
Зарегистрирован: 2007-12-10 16:12:32

Re: Как сделать хитрый нат

Непрочитанное сообщение Riskator » 2010-02-09 19:35:59

Народ, скажите как такое может быть?
Адреса 207 и 208 в таблице принадлежат em0, что неправда.

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

#netstat -nr
195.142.56.193     00:1b:53:e1:36:01  UHLW        2       22    em0   1098
195.142.56.207     00:01:02:0a:1b:61  UHLW        1        1    em0   1198
195.142.56.208     00:1b:21:35:49:52  UHLW        1    14858    lo0 

#ifconfig
em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
        options=b<RXCSUM,TXCSUM,VLAN_MTU>
        inet6 fe80::21b:21ff:fe35:4952%em0 prefixlen 64 scopeid 0x1
        inet 195.142.56.208 netmask 0xffffffe0 broadcast 195.142.56.223
        ether 00:1b:21:35:49:52
        media: Ethernet autoselect (1000baseTX <full-duplex>)
        status: active
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=9<RXCSUM,VLAN_MTU>
        inet6 fe80::201:2ff:fe0a:1b61%xl0 prefixlen 64 scopeid 0x3
        inet 195.142.56.207 netmask 0xffffffe0 broadcast 195.142.56.223
        ether 00:01:02:0a:1b:61
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active 
После загрузки системы 207 адерс в таблице появляется только после того как его пропинговали.