Страница 1 из 1
Нат на внешнем интерфейсе
Добавлено: 2009-06-20 19:41:31
mada1ex
Добрый день, помогите кто может:
ЗАДАЧА: Есть локальная сеть 10.0.0.x. В ней находится по адресу 10.0.0.13 стоит компьтер с 4й фряхой. получающий интернет по опенвпн тунелю и при помощи ната раздает его в локалку 192.168.0.0. Сейчас появилась необходимость раздавать интернет с 13 ипа ещё и на компьютер с ипом 10.0.0.24.
Я попробовал просто поставить основной шлюз на 13 и добавил диверт с этого ипа на тунель. Но интернет так и не появился

Трейсроут показывает что пакеты идут на сервер 10.0.0.13 и пропадают на нем.
Сразу отмечу что обновлять фряху с 4ки и переносить новый компьютер в подсеть 192.* возможности нет.
Re: Нат на внешнем интерфейсе
Добавлено: 2009-06-20 21:21:38
---nebo---
покажите конфиг фаера, ведь есть разница в каком месте вы впишете еще один нат, может пакеты у вас проходят еще до ната?
Re: Нат на внешнем интерфейсе
Добавлено: 2009-06-20 21:39:34
mada1ex
---nebo--- писал(а):покажите конфиг фаера, ведь есть разница в каком месте вы впишете еще один нат, может пакеты у вас проходят еще до ната?
часть с дивертами:
Код: Выделить всё
divert 7078 ip from 192.168.0.0/24 to any
divert 7078 ip from 10.0.0.24/32 to any
fwd 10.0.77.1 ip from 10.0.77.2 to any
divert 7078 ip from any to 10.0.77.2
запущен натд:
- 10.0.77.2 - 10.0.77.1 - это опенвпн тунель по которому идет интернет на сервер
Re: Нат на внешнем интерфейсе
Добавлено: 2009-06-20 23:24:56
---nebo---
Вам для полчения интернета нужно добраться до 10.0.77.1.
добавте в rc.conf(если там нет)
а на 10.0.0.24 просто пропишите шлюз 10.0.0.13 и все, больше никакой диверт прописывать не нужно.
На фряхе ведь есть маршруты (кстати покажите netstat -r) в 10.0.77.0, 0.0.0.0/0 и в 10.0.0.0, а гейтвей_енейбл позволит перебрасывать пакеты между интерфейсами и фряха будет просто маршрутизировать пакеты с 10.0.0.24->10.0.77.1.
Вам для полчения интернета нужно добраться до 10.0.77.1.
Re: Нат на внешнем интерфейсе
Добавлено: 2009-06-21 10:58:14
mada1ex
gateway_enable в rc.conf прописан.
Значит без добавления диверта с 10.0.0.24 пингуется 10.0.77.1 и трайсроут инета обрывается теперь на нем. Если же добавляю диверт - то трейсроут останавливается уже на 10.0.0.13

Получается что без диверта почему то не пускает уже сервер 10.0.77.1?
UPD В общем немного подразобрался... Действительно не пускает пакеты сервер 10.0.77.1. Тогда такой вопрос: как мне занатить пакеты от 10.0.0.24 чтобы 10.0.77.1 "думал"

что их шлет 10.0.0.13?
Re: Нат на внешнем интерфейсе
Добавлено: 2009-06-21 11:37:07
---nebo---
как мне занатить пакеты от 10.0.0.24 чтобы 10.0.77.1 "думал" что их шлет 10.0.0.13?
если 10.0.77.1 принимает пакеты только от 10.0.0.13, просто шлюзом тут не обойтись, потому что нужно менять IP адрес отправителя пакета, поетому нужно натить, а если так
Код: Выделить всё
divert 7078 ip from 192.168.0.0/24 to any via ${OUT_INT}
divert 7078 ip from 10.0.0.24/32 to any via ${OUT_INT}
allow ip from any to any via ${OUT_INT}
allow ip from any to any via ${IN_INT}
${OUT_INT},${IN_INT} имена интерфейсов
я думаю не нужно, потому что на фре существует маршрут 0.0.0.0/0 через 10.0.77.1 и пакеты приходящие на фрю будут отправляться на этот адрес автоматически, заворачивать их туда не нужно
а какое назначение
, ну во-первых не указан через какой интерфейс натить, а во-вторых если приходят ответы с 10.0.77.1, то "разначиваться" они будут автоматически, а вы эти пакеты еще раз натите и не понятно что с ними происходит
посмотрите еще
www.lissyara.su/?id=1127
www.lissyara.su/?id=1536
www.lissyara.su/?id=1356
Re: Нат на внешнем интерфейсе
Добавлено: 2009-06-21 15:50:58
mada1ex
---nebo---, спасибо за помощь. Этот сервер до меня настраивал очень-очень давно другой человек и почему так написаны правила фаервола непонятно ) Щас проблему временно решил установкой прокси. Буду дальше копаться.
Re: Нат на внешнем интерфейсе
Добавлено: 2010-04-22 15:51:24
Wolf4ara
всем привет. а не у кого не возникало проблем с высокими пингами? как я понял у ipfw это большая проблема:)
Re: Нат на внешнем интерфейсе
Добавлено: 2010-04-22 16:35:41
Гость
не надо что попало, куда попало отвечать - писать
создайте свою тему
опишите нормально проболему
сформулируйте вопрос
Re: Нат на внешнем интерфейсе
Добавлено: 2010-10-28 10:41:17
Akela
Помогите разобраться перенапровлением портов, чего здесь не хватает.
Код: Выделить всё
#!/bin/bash
FwCMD="/sbin/ipfw -q"
LanOut="vr0"
LanIn="rl0"
IpOut="193.0.***.***"
IpIn="192.168.3.1"
NetMask="24"
NetIn="192.168.3.0"
ks="keep-state"
MyLan="192.168.3.0/24"
skip="skipto 1000"
${FwCMD} -f flush
${FwCMD} 001 add allow ip from any to any via lo0
${FwCMD} 002 add allow ip from any to any via ${LanIn}
${FwCMD} 100 add divert natd ip from any to ${IpOut} in via ${LanOut}
${FwCMD} 101 add check-state
##Http port 80 and SQUID
${FwCMD} 111 add $skip tcp from 192.168.3.4 to any 80 out via ${LanOut} setup keep-state
${FwCMD} 112 add $skip tcp from 192.168.3.5 to any 80 out via ${LanOut} setup keep-state
${FwCMD} 113 add $skip tcp from ${IpOut} to any 80 out via ${LanOut} setup keep-state
#${FwCMD} 120 add allow tcp from ${MyLan} to ${IpIn} 3128 in via ${LanIn} setup keep-state
##Http port 80 and SQUID END
# SSL
${FwCMD} 130 add $skip tcp from ${IpOut} to any 443 out via ${LanOut} setup keep-state
${FwCMD} 131 add $skip tcp from ${MyLan} to any 443 out via ${LanOut} setup keep-state
# SSL END
##DNS
${FwCMD} 140 add $skip tcp from ${IpOut} to any 53 out via ${LanOut} setup keep-state
${FwCMD} 141 add $skip tcp from 192.168.3.2 to any 53 out via ${LanOut} setup keep-state
${FwCMD} 142 add $skip udp from ${IpOut} to any 53 out via ${LanOut} keep-state
${FwCMD} 143 add $skip udp from 192.168.3.2 to any 53 out via ${LanOut} keep-state
##
##ICMP
${FwCMD} 160 add allow icmp from ${MyLan} to any icmptypes 0,8,11 out via ${LanOut} keep-state
##
## SSH
${FwCMD} 170 add allow tcp from any to me 22 in via ${LanOut} setup limit src-addr 2
${FwCMD} 171 add allow tcp from any to me 22 in via ${LanIn} setup limit src-addr 2
##SSH END
###POST
${FwCMD} 180 add $skip tcp from ${MyLan} to any 110 out via ${LanOut} setup keep-state
${FwCMD} 181 add $skip tcp from ${MyLan} to any 25 out via ${LanOut} setup keep-state
###Post end
####Redirect##################################################################################
#KPK
${FwCMD} 190 add $skip tcp from any to 192.168.3.4 10000 in via ${LanOut}
${FwCMD} 191 add $skip tcp from any to 192.168.3.5 15000 in via ${LanOut}
#RDP
${FwCMD} 250 add allow tcp from any to 192.168.3.4 3389 in via ${LanOut}
${FwCMD} 260 add allow tcp from any to 192.168.3.5 3390 in via ${LanOut}
#Radmin
${FwCMD} 290 add allow tcp from any to 192.168.3.5 3391 in via ${LanOut}
#####REDIRECT END ############################################################################
##RDP
${FwCMD} 305 add $skip tcp from ${MyLan} to any 3389 out via ${LanOut} setup keep-state
##Teamviewer
${FwCMD} 310 add $skip tcp from ${MyLan} to any 5938 out via ${LanOut} setup keep-state
${FwCMD} 320 add allow tcp from any to ${MyLan} 5938 in via ${LanOut} setup limit src-addr 2
#Trafic-system
${FwCMD} 330 add $skip tcp from ${MyLan} to any 5858-5861 out via ${LanOut} setup keep-state
#Globus
${FwCMD} 340 add $skip tcp from ${MyLan} to 77.120.99.109 3201 out via ${LanOut} setup keep-state
##IpSEC
${FwCMD} 400 add allow ip from ${IpOut} to ***.***.129.242 out via ${LanOut}
${FwCMD} 410 add allow ip from 91.189.***.*** to ${IpOut} in via ${LanOut}
${FwCMD} 420 add allow ip from ${MyLan} to 192.168.1.0/24 out via gif0
${FwCMD} 430 add allow ip from 192.168.1.0/24 to ${MyLan} in via gif0
${FwCMD} 440 add allow ip from ${IpOut} to 195.189.***.*** out via ${LanOut}
${FwCMD} 450 add allow ip from 195.189.***.*** to ${IpOut} in via ${LanOut}
${FwCMD} 460 add allow ip from ${MyLan} to 192.168.4.0/24 out via gif1
${FwCMD} 470 add allow ip from 192.168.4.0/24 to ${MyLan} in via gif1
${FwCMD} 480 add allow ip from ${IpOut} to 195.189.***.*** out via ${LanOut}
${FwCMD} 490 add allow ip from 195.189.***.*** to ${IpOut} in via ${LanOut}
${FwCMD} 500 add allow ip from ${MyLan} to 192.168.2.0/24 out via gif2
${FwCMD} 510 add allow ip from 192.168.2.0/24 to ${MyLan} in via gif2
${FwCMD} 520 add allow ip from ${IpOut} to 195.189.***.*** out via ${LanOut}
${FwCMD} 530 add allow ip from 195.189.***.*** to ${IpOut} in via ${LanOut}
${FwCMD} 540 add allow ip from ${MyLan} to 192.168.5.0/24 out via gif3
${FwCMD} 550 add allow ip from 192.168.5.0/24 to ${MyLan} in via gif3
${FwCMD} 560 add allow ip from ${IpOut} to 195.62.***.*** out via ${LanOut}
${FwCMD} 570 add allow ip from 195.62.***.*** to ${IpOut} in via ${LanOut}
${FwCMD} 580 add allow ip from ${MyLan} to 192.168.6.0/24 out via gif4
${FwCMD} 590 add allow ip from 192.168.6.0/24 to ${MyLan} in via gif4
###
${FwCMD} 900 add deny tcp from ${MyLan} to any 80 out via ${LanOut}
${FwCMD} 910 add deny tcp from any to any frag in via ${LanOut}
${FwCMD} 920 add deny tcp from any to any established in via ${LanOut}
${FwCMD} 999 add deny log ip from any to any out via ${LanOut}
${FwCMD} 1000 add divert natd ip from ${MyLan} to any out via ${LanOut}
${FwCMD} 1001 add allow log ip from any to any
${FwCMD} 2000 add deny log ip from any to any
Re: Нат на внешнем интерфейсе
Добавлено: 2010-12-13 17:46:16
Alpha789
Ребят, подскажите, почему клиент не может забрать\отправить почту?
Конфиг брал с вашего сайта:
Код: Выделить всё
# Нет запретов внутри интерфейса смотрящего в локальную сеть
$cmd 010 allow all from any to any via $iif
# Зворачиваем всех в сквид
$cmd 030 fwd 192.168.0.1,3128 tcp from $lannet to any 21,80,443,5190,8080,8101 out via $oif
# Потом в NAT
$cmd 040 divert natd ip from any to any in via $oif
# Динамическая таблица
$cmd 050 check-state
.....
# Разрешаем исходящую функцию отправки и приема почты
$cmd 220 allow tcp from any to any 25 out via $oif setup $ks
$cmd 221 allow tcp from any to any 110 out via $oif setup $ks
...
# Запрещаем и протоколируем все остальное пытающееся пройти.
$cmd 299 deny log all from any to any out via $oif
Re: Нат на внешнем интерфейсе
Добавлено: 2011-03-07 20:23:43
Bayerische
Не пойму, как сделать WanIp динамическим
Код: Выделить всё
WanIp="88.147.128.13"
ipfw -q add allow tcp from any to WanIp in via if1
Re: Нат на внешнем интерфейсе
Добавлено: 2011-03-07 21:20:47
Bayerische
В общем, почему-то ничего из найденного не заработало, наваял по мотивам своё. Вроде определяет.
Код: Выделить всё
WanIp=`ifconfig em0 | grep inet | awk '{print $2}'`
Re: Нат на внешнем интерфейсе
Добавлено: 2011-03-07 21:40:12
Bayerische
Я подумал вот что... За NAT локалка провайдера. А Интернет подключается через VPN. Правила загружаются до старта VPN. Как же он будет работать, ведь там свой IP, и его тоже надо прописывать в фаере?
Re: Нат на внешнем интерфейсе
Добавлено: 2011-03-07 23:58:14
Bayerische
нужны ли для l2tp следующие вещи:
Код: Выделить всё
options NETGRAPH
options NETGRAPH_ETHER
options NETGRAPH_NETFLOW
options NETGRAPH_SOCKET
options NETGRAPH_TEE
#options NETGRAPH_MPPC_ENCRYPTION
#options NETGRAPH_MPPC_COMPRESSION
options NETGRAPH_BPF
options NETGRAPH_IFACE
options NETGRAPH_KSOCKET
options NETGRAPH_PPP
options NETGRAPH_PPTPGRE
options NETGRAPH_TCPMSS
options NETGRAPH_VJC
options NETGRAPH_ONE2MANY
options NETGRAPH_RFC1490
options NETGRAPH_TTY
options NETGRAPH_UI
Re: Нат на внешнем интерфейсе
Добавлено: 2011-03-08 2:36:28
Гость
Re: Нат на внешнем интерфейсе
Добавлено: 2011-03-08 11:58:44
Bayerische
Гость, я знаю про kldload. Вопрос был, нужен ли этот NETGRAPH для mpd.
Re: Нат на внешнем интерфейсе
Добавлено: 2011-03-08 12:38:37
Гость
нетграф сам знает что ему нужно