Страница 1 из 1
FreeBSD 7.1 IPFW+NAT kernel
Добавлено: 2009-03-29 22:24:13
zend
С FreeBSD работаю недавно.
Собрал тестовую машину на VMware 6.5 - OC FreeBSD 7.1. На ней крутится
MySQL+Apache+PHP+Squid+rejik=Proxy server+web морда, VPN server на базе
mpd5. Все замечательно работает кроме
NATa. Не могу настроить
nat. Кто сталкивался с этим помогите разобраться. Сборка связок сервисов делалась по мотивам замечательной статьи
http://www.lissyara.su/?id=1680.
В инете ничего внятного по поводу кернельного
natа не нашел.
Заранее благодарен...
Re: FreeBSD 7.1 IPFW+NAT kernel
Добавлено: 2009-03-29 22:41:32
zg
zend писал(а):Все замечательно работает кроме NATa
эм.. чтобы нат проверить нужно создать виртуальную сеть, включить в неё другую виртуальную машину и пустить через первую. То есть нужно иметь
как минимум две виртаульных машины в одной виртуальной (или физической) сети. Основную машину через виртуалку не пустить, потому как петля будет.
Re: FreeBSD 7.1 IPFW+NAT kernel
Добавлено: 2009-03-30 2:09:07
fox
Re: FreeBSD 7.1 IPFW+NAT kernel
Добавлено: 2009-03-30 14:42:45
zend
В чера было поздно спать хотелось - забыл добавить статью по которой сделан
NAT и
IPFW2 ->
http://www.lissyara.su/?id=1680
Re: FreeBSD 7.1 IPFW+NAT kernel
Добавлено: 2009-03-30 15:01:30
zend
За ссылки спасибо.
Смысл втом чтоб выпустить несколько машин в инет мимо проксика через нат ...
Re: FreeBSD 7.1 IPFW+NAT kernel
Добавлено: 2009-03-30 22:22:39
fox
просто, обойти прокчи?
так просто проскипй правела мимо fwd когда всех заварачивает...
Re: FreeBSD 7.1 IPFW+NAT kernel
Добавлено: 2009-03-31 12:06:18
princeps
Конфиг фаервола выложи.
Re: FreeBSD 7.1 IPFW+NAT kernel
Добавлено: 2009-03-31 21:12:46
fox
тебе нужен весь конфиг фаера?
Re: FreeBSD 7.1 IPFW+NAT kernel
Добавлено: 2009-04-01 8:23:04
princeps
ну, можно без антиспуфинга и прочей безопасности. Чтоб внести ясность, так сказать, потому что из его постов не совсем понятно, что хочется иметь на выходе и какая там у него топология.
Re: FreeBSD 7.1 IPFW+NAT kernel
Добавлено: 2009-04-01 21:22:28
fox
конфиг ipfw:
Код: Выделить всё
#!/bin/sh
fwcmd="/sbin/ipfw"
#InetInterface
ifwan="vr0"
ipwan="1.2.3.4"
mswan="27"
#LocalLanInterface
iflan="re0"
iplan="192.168.216.216"
mslan="16"
netlan="192.168.216.0"
#HostControll
iflh="lo0"
iplh="127.0.0.1"
mslh="8"
#ports
spd="1987"
vpn_l2tp="1701"
#GAMES SERVER CS_1.6
gamesnetp="192.168.200.0/29 27015,27016,27017"
gahost="192.168.216.1"
${fwcmd} -f flush
${fwcmd} -f pipe flush
${fwcmd} -f queue flush
${fwcmd} -f table 0 flush
${fwcmd} -f table 69 flush
${fwcmd} add 10 check-state
${fwcmd} add 50 allow ip from any to any via ${iflh}
${fwcmd} add 100 deny ip from any to ${iplh}/${mslh}
${fwcmd} add 110 deny ip from ${iplh}/${mslh} to any
${fwcmd} add 200 deny ip from any to 10.0.0.0/8 in via ${ifwan}
${fwcmd} add 220 deny ip from any to 172.16.0.0/12 in via ${ifwan}
${fwcmd} add 230 deny ip from any to 192.168.0.0/16 in via ${ifwan}
${fwcmd} add 240 deny ip from any to 0.0.0.0/8 in via ${ifwan}
${fwcmd} add 250 deny ip from any to 169.254.0.0/16 in via ${ifwan}
${fwcmd} add 260 deny ip from any to 240.0.0.0/4 in via ${ifwan}
${fwcmd} add 270 deny icmp from any to any frag
${fwcmd} add 280 deny log icmp from any to 255.255.255.255 in via ${ifwan}
${fwcmd} add 290 deny log icmp from any to 255.255.255.255 out via ${ifwan}
${fwcmd} add 300 deny ip from "table(69)" to me
${fwcmd} add 333 deny not icmp from "table(0)" to me
${fwcmd} add 800 fwd 127.0.0.1, 3128 tcp from ${netlan}/${mslan} to any 80, 8080 out via ${ifwan}
#${fwcmd} add 900 divert 199 tcp from any to any 3128
#${fwcmd} add 950 divert 199 tcp from any 3128 to any
${fwcmd} add 1000 divert 199 ip from ${netlan}/${mslan} to any out xmit ${ifwan}
${fwcmd} add 1100 divert natd ip4 from ${netlan}/${mslan} to any out xmit ${ifwan}
${fwcmd} add 1200 divert natd ip4 from any to me in recv ${ifwan}
${fwcmd} add 1300 divert 199 ip from any to ${netlan}/${mslan} in recv ${ifwan}
${fwcmd} add 2100 deny ip from 10.0.0.0/8 to any out via ${ifwan}
${fwcmd} add 2110 deny ip from 172.16.0.0/12 to any out via ${ifwan}
${fwcmd} add 2120 deny ip from 192.168.0.0/24 to any out via ${ifwan}
${fwcmd} add 2130 deny ip from 0.0.0.0/8 to any out via ${ifwan}
${fwcmd} add 2140 deny ip from 169.254.0.0/16 to any out via ${ifwan}
${fwcmd} add 2150 deny ip from 240.0.0.0/4 to any out via ${ifwan}
${fwcmd} add 2500 allow tcp from any to any established
${fwcmd} add 2700 allow ip from ${ipwan} to any out xmit ${ifwan}
${fwcmd} add 2800 allow udp from any domain to any via ${ifwan}
${fwcmd} add 2850 allow udp from any to any domain via ${ifwan}
${fwcmd} add 2890 allow udp from any to any ntp via ${ifwan}
${fwcmd} add 3000 allow tcp from any to ${ipwan} 49152-65535 via ${ifwan}
${fwcmd} add 3100 allow icmp from any to any icmptypes 0,8,11
${fwcmd} add 3200 allow tcp from any to ${ipwan} 21,22,23,445,8080 via ${ifwan}
${fwcmd} add 3300 allow udp from any to ${ipwan} 1,7,9,69,513 via ${ifwan}
${fwcmd} add 3700 allow tcp from any to ${ipwan} http via ${ifwan}
${fwcmd} add 3800 allow tcp from any to ${ipwan} smtp via ${ifwan}
${fwcmd} add 3900 allow tcp from any to ${ipwan} pop3 via ${ifwan}
${fwcmd} add 4000 allow tcp from any to ${ipwan} ${spd} via ${ifwan}
${fwcmd} add 4100 allow udp from ${gamesnetp} to ${gahost} via ${ifwan}
${fwcmd} add 4200 allow udp from any to any ${vpn_l2tp} via ${ifwan}
${fwcmd} add 7000 allow tcp from any to any via ${iflan}
${fwcmd} add 7100 allow udp from any to any via ${iflan}
${fwcmd} add 7200 allow icmp from any to any via ${iflan}
${fwcmd} add 8000 allow all from any to any via vr1
${fwcmd} add 9000 allow gre from any to any
${fwcmd} add 9100 allow ip from any to any via ng0
${fwcmd} add 9200 allow ip from any to any via ng1
${fwcmd} add 9300 allow ip from any to any via ng2
${fwcmd} add 65500 deny all from any to any
Извини что поздно, у меня дипрессия моя девчока меня игнорирует(((
Re: FreeBSD 7.1 IPFW+NAT kernel
Добавлено: 2009-04-02 8:19:27
princeps
А у тебя тоже что-то не работает?
Re: FreeBSD 7.1 IPFW+NAT kernel
Добавлено: 2009-04-02 10:00:02
fox
не у меня всё работает, я скинул конф как меня просили...
Re: FreeBSD 7.1 IPFW+NAT kernel
Добавлено: 2009-04-03 8:54:29
princeps
Это я не тебя, это я тредстартера просил, чтоб понять, что он хочет и что не работает у него

Однако спасибо за готовность помочь
Re: FreeBSD 7.1 IPFW+NAT kernel
Добавлено: 2009-04-03 11:08:59
КиЧи
я делаю свой нат след. образом:
ставлю tcpmssd
из /usr/ports/net/tcpmssd
в ядро собираю с функцией IPDIVERT
и rc.conf`e добовляю строчку:
Код: Выделить всё
natd_flags="-unregistered_only -dynamic -a *.*.*.*(ip внешнего интерфейса)"
natd_enable="YES"
gateway_enable="YES"
в rc.firewall добовляю след. строки
Код: Выделить всё
/usr/local/bin/tcpmssd -p 10000 -m 1280
setup_loopback
${fwcmd} add divert 10000 tcp from any to any
${fwcmd} add divert 8668 ip from any to any via rl1 (внешний интерфейс)
${fwcmd} add allow ip from any to 192.168.3.2 # само правило для NAT
${fwcmd} add allow ip from 192.168.3.2 to any
всё NAT работает на 192.168.3.2