Страница 1 из 2
nat проблемы
Добавлено: 2010-02-11 7:55:08
CTOPMbI4
конфа.
2 физ интерфейса один смотрит в локалку другой в ЛВС провайдера.
далее поднимается 2 тунеля посредствам mpd. ng0 ng1
Первый для внешки. Второй для локалки адреса типа 172.27.0/16
Задача натить свою локалку во внешку.
Решил обойтись добавлением в rc.conf
Прописываем
Код: Выделить всё
natd_enable="YES"
natd_interface="ng0"
natd_flags="-f /etc/natd.conf"
firewall_enable="YES"
firewall_script="/etc/testfire"
Код: Выделить всё
cat /etc/natd.conf
dynamic yes
same_ports yes
use_sockets yes
unregistered_only yes
Код: Выделить всё
IntWan="rl0"
IntLan="nfe0"
vpn_ip="10.1.0.1"
vpn_wan="ng0"
vpn_lan="ng1"
vpn_lan_ip="172.0.10.55"
NetLan="192.168.1.0/24"
ipserver="192.168.1.1"
${FwCMD} table 1 flush
${FwCMD} table 1 10.0.0.0/8
${FwCMD} table 1 192.168.0.0/16
${FwCMD} table 1 0.0.0.0/8
${FwCMD} table 1 169.254.0.0/16
${FwCMD} table 1 240.0.0.0/4
${FwCMD} table 1 224.0.0.0/4
${FwCMD} table 3 255.255.255.255
${FwCMD} -f flush
${FwCMD} add check-state
#
${FwCMD} add allow ip from any to any via lo0
# icmp
${FwCMD} add deny icmp from any to any frag
${FwCMD} add deny log icmp from any to 255.255.255.255 in via ${IntWan}
${FwCMD} add deny log icmp from any to 255.255.255.255 out via ${IntWan}
#
${FwCMD} add allow tcp from any to any established
#nat
# (NAT)
${FwCMD} add divert natd ip from {NetLan} to any out via ${IntLan}
${FwCMD} add divert natd ip from any to ${NetLan} in via ${IntLan}
Код: Выделить всё
Destination Gateway Flags Refs Use Netif Expire
default ng0 US 0 5380 ng0
10.1.0.1 10.100.51.20 UGHS 1 6651 rl0
10.1.1.2 10.100.51.20 UGHS 0 0 rl0
10.1.1.10 10.100.51.20 UGHS 1 512 rl0
10.100.51.0/24 link#2 U 0 2 rl0
10.100.51.20 link#2 UHS 0 0 lo0
81.30.1.1 ng1 UHS 0 63 ng1
81.30.50.49 link#7 UHS 0 0 lo0
127.0.0.1 link#6 UH 0 73 lo0
172.0.10.55 link#8 UHS 0 467 lo0
192.168.1.0/24 link#1 U 0 0 nfe0
192.168.1.1 link#1 UHS 0 0 lo0
все поднимается туннули. но трафик не ходит не куда. тобишь не пингуется внешка нерезолвиться с днс и т.д.
Маршруты все норм. Убираешь из rc.conf nat и все пашет.
В чем может быть косяк мужики?
Re: nat проблемы
Добавлено: 2010-02-11 18:14:34
cloudsv
Код: Выделить всё
# (NAT)
${FwCMD} add divert natd ip from {NetLan} to any out via ${IntLan}
${FwCMD} add divert natd ip from any to ${NetLan} in via ${IntLan}
Расшифрую
Натить пакеты от "192.168.1.0/24" куда угодно через nfe0
Натить пакеты откуда угодно в "192.168.1.0/24" через nfe0
Зачем вам перекидывать пакеты внутри сети что ли?
Поставьте ng0 глядишь поможет...
ну и в rc.conf
Еще rc.firewall меня как то смущает...страшный он
Re: nat проблемы
Добавлено: 2010-03-19 10:24:47
CTOPMbI4
Есть шаристые камрады в ipfw?
Re: nat проблемы
Добавлено: 2010-03-19 11:31:47
maga-maga
вы куда-то не туда натите, натить надо в адрес а не в any ))
выбросьте natd используйте kernel nat
и че у вас там за таблицы в фаерволе? зачем?
Re: nat проблемы
Добавлено: 2010-03-19 11:35:20
CTOPMbI4
maga-maga писал(а):вы куда-то не туда натите, натить надо в адрес а не в any ))
выбросьте natd используйте kernel nat
и че у вас там за таблицы в фаерволе? зачем?
ип выдается провайдером динамиком. Так что я не могу подставить туда определенный ип адрес.
Таблицы типо запретить входящий трафик с приватных сетей на внешнем интерфейсе.
Re: nat проблемы
Добавлено: 2010-03-19 11:47:14
maga-maga
я не очень знаю как работает natd, но нат это алиасинг/деалиасинг, и должно быть точно известно куда/откуда это делать. и еще вы не на том интерфейсе делаете. надо делать на внешнем
вы можете сначала получить адрес, а потом включить правила для нат
Re: nat проблемы
Добавлено: 2010-03-19 12:23:48
CTOPMbI4
Код: Выделить всё
Lan_net="192.168.1.0/24"
Wan_external="ng0" - внешка
${fw} add 30 divert natd ip from ${Lan_net} to any out via ${Wan_external}
${fw}add 31 divert natd ip from any to ${Lan_net} in via ${Wan_external}
Так будет работать если я не укажу ип который висит на ng0 интерфейсе?
Re: nat проблемы
Добавлено: 2010-03-19 13:37:05
cloudsv
CTOPMbI4 писал(а):Код: Выделить всё
Lan_net="192.168.1.0/24"
Wan_external="ng0" - внешка
${fw} add 30 divert natd ip from ${Lan_net} to any out via ${Wan_external}
${fw}add 31 divert natd ip from any to ${Lan_net} in via ${Wan_external}
Так будет работать если я не укажу ип который висит на ng0 интерфейсе?
Будет работать
Re: nat проблемы
Добавлено: 2010-03-19 13:42:45
CTOPMbI4
Благодарю. проверю как буду в офисе.
Re: nat проблемы
Добавлено: 2010-03-19 14:00:11
cloudsv
CTOPMbI4 писал(а):Благодарю. проверю как буду в офисе.
Не забудь в rc.conf
Код: Выделить всё
natd_enable="YES"
natd_interface="ng0
natd_flags="-m -u"
Re: nat проблемы
Добавлено: 2010-03-20 0:32:07
CTOPMbI4
короче исходящие пакеты натятся. а вот входящие нет.
Код: Выделить всё
00030 8 409 divert 8668 ip4 from 192.168.1.0/24 to any out via ng0
00031 0 0 divert 8668 ip4 from any to 192.168.1.0/24 in via ng0
Вопрос почему?
Re: nat проблемы
Добавлено: 2010-03-20 0:36:17
terminus
CTOPMbI4 писал(а):короче исходящие пакеты натятся. а вот входящие нет.
Код: Выделить всё
00030 8 409 divert 8668 ip4 from 192.168.1.0/24 to any out via ng0
00031 0 0 divert 8668 ip4 from any to 192.168.1.0/24 in via ng0
Вопрос почему?
Нат как работает знаете? Что он делает с пакетом?
Код: Выделить всё
divert 8668 ip from 192.168.1.0/24 to any out via ng0
divert 8668 ip from any to me in via ng0
Re: nat проблемы
Добавлено: 2010-03-20 11:53:20
CTOPMbI4
Видимо не совсем понимаю. но если поставить так то
он будет натить все пакеты которые придут с внешнего интерфейса. А мне нужно чтобы только те пакеты которые ушли изначально из под моей локалки. 192.168.1.0/24
+ у меня еще висит прокся на ng1 интерфейсе и она не работает если так врубить нат.
Как подскажите вырулить в этой ситуации?
Re: nat проблемы
Добавлено: 2010-03-20 13:30:18
cloudsv
Предыдущий оратор был прав, я проглядел принимать нат пакеты должен же внешний интерфейс.
Нат подменяет адрес отправителя если в кратце.
Поставьте это и будет у вас счастье
+ у меня еще висит прокся на ng1 интерфейсе и она не работает если так врубить нат.
Перед натом разрешите соединения на порт прокси, тогда пакет не дойдет до обработки нат.
Re: nat проблемы
Добавлено: 2010-03-20 17:31:29
CTOPMbI4
прописал правила для прокси через ng1.
Код: Выделить всё
allow ip from any to me dst-port 5190 in via ng1
allow ip from me to any out via ng1
К прокси коннектиться норм.
далее сам прокси отправляет запрос так же через ng0 на внешку прописал правило
а вот обратно уже нет.тут трабла.
если поставить
перед натом то работает через прокси! Но тогда не работает через нат. соотвественно пакет не дойдет до ната
Если наоборот то соответственно над работает! Через прокси нет.
Может я недоганяю совсем но как решить поставленную задачу не понимаю. И вообще можно ли решить ее?!
Re: nat проблемы
Добавлено: 2010-03-20 17:44:18
cloudsv
Код: Выделить всё
ipfw add allow tcp from any to me 5190 in via ng0
ipfw add allow tcp from me 5190 to any out via ng0
ipfw add divert 8668 ip from 192.168.1.0/24 to any out via ng0
ipfw add divert 8668 ip from any to me in via ng0
Откуда взялся ng1?
Re: nat проблемы
Добавлено: 2010-03-20 17:55:29
CTOPMbI4
ng1 для локалки (через сеть провайдера) адреса типа 172.16.0.0/12
на нем висит прокси. тобишь к нему коннектятся юзверы. маршрут на сеть 172.16.0.0/12 прибит статиком к нему. И есть внешка это собственно уже ng0. на него дефолтный маршрут.
192.168.1.0/24 физически подключена к серверу. На нем сеть офиса. должны выходить через нат.
Re: nat проблемы
Добавлено: 2010-03-20 19:12:07
cloudsv
CTOPMbI4 писал(а):ng1 для локалки (через сеть провайдера) адреса типа 172.16.0.0/12
на нем висит прокси. тобишь к нему коннектятся юзверы. маршрут на сеть 172.16.0.0/12 прибит статиком к нему. И есть внешка это собственно уже ng0. на него дефолтный маршрут.
192.168.1.0/24 физически подключена к серверу. На нем сеть офиса. должны выходить через нат.
Вот все должно работать.
Код: Выделить всё
ipfw add divert 8668 ip from 192.168.1.0/24 to any out via ng0
ipfw add divert 8668 ip from any to me in via ng0
ipfw add allow ip from any to any via ng1
Re: nat проблемы
Добавлено: 2010-03-21 8:45:36
CTOPMbI4
Хех если поставить именно так
Код: Выделить всё
ipfw add divert 8668 ip from any to me in via ng0
То любой приходящий пакет на ng0 суб-интерфейс. будет подпадать под это правило.
соотвественно с прокси ничего не работает. кроме того и самого шлюза не работает.
Re: nat проблемы
Добавлено: 2010-03-21 11:15:22
cloudsv
CTOPMbI4 писал(а):Хех если поставить именно так
Код: Выделить всё
ipfw add divert 8668 ip from any to me in via ng0
То любой приходящий пакет на ng0 суб-интерфейс. будет подпадать под это правило.
соотвественно с прокси ничего не работает. кроме того и самого шлюза не работает.
Вы же говорили что прокси висит на другом интерфейсе, значит пакет в divert попадать не будет.
И так же не плохо было бы вам изучить статейку:
http://www.lissyara.su/articles/freebsd/tuning/ipfw/
Re: nat проблемы
Добавлено: 2010-03-21 11:36:14
CTOPMbI4
Да прокси висит на дрйгом суб-интерфейсе, но..дальше то запросы идут на внешку на ng0 тобишь все равно они подпадают под это правило когда они приходят на ng0 с внешки.
Хорошо почитаю на досуге может что то прояснится
Re: nat проблемы
Добавлено: 2010-03-21 13:24:37
CTOPMbI4
Сильно извеняюсь.
У меня по каким то причинам не запускается скрипт nat-а ругается на синтаксис хотя вроде все верно. прописал вручную
Короче все завелось. Как я понял демон natd анализирует пакеты приходящие на интерфейс и уже их сам напрявляет в локальную сетку.
а все другие пакеты уже проходят по правилам дальше и подпадают под правило
Re: nat проблемы
Добавлено: 2010-03-23 22:29:04
CTOPMbI4
Короче говоря рано обрадовался. НЕ пашет не фига.
по счетчику ,
Код: Выделить всё
00030 6 288 divert 8668 ip4 from 192.168.1.0/24 to any out via ng0
00031 49610 3024687 divert 8668 ip4 from any to me in via ng0
00065 49595 3023967 allow ip from any to me in via ng0
Видно что на nfe0 внутрений интерфейс
Код: Выделить всё
00:02:17.516465 IP 192.168.1.2.1053 > 213.180.204.8.80: Flags [S], seq 1518579369, win 65535, options [mss 1460,nop,nop,sackOK], length 0
на ng0 во внешку и оратно
Код: Выделить всё
00:01:27.309583 IP 81.54.97.60.1052 > 213.180.204.8.80: Flags [S], seq 2743147693, win 65535, options [mss 1460,nop,nop,sackOK], length 0
00:01:27.428877 IP 213.180.204.8.80 > 81.54.97.60.1052: Flags [S.], seq 4061162568, ack 2743147694, win 8192, options [mss 1410,sackOK,eol], length 0
А вот в обратку на nfe0 пакетов не видно.
нат запущен
Код: Выделить всё
965 ?? Ss 2:09.57 /sbin/natd -m -u -dynamic -redirect_port tcp 192.168.1.2:23 22 -n ng0
Чет не догоняю что еще может быть. Подскажите а то уже запарился
Re: nat проблемы
Добавлено: 2010-03-23 22:32:21
cloudsv
Что это вообще за извращения?
Напишите четко и ясно, что должен уметь делать ваш файрвол и нат.
Re: nat проблемы
Добавлено: 2010-03-23 22:52:29
CTOPMbI4
Где извращение ?
Задача полный доступ локалке в офисе тобишь должен работать nat
+ прокси на отдельном интерфейсе
+ фаир для разруливания и блокировки.
В идеале конечно только то что разрешено.