Страница 1 из 1
IPFW + NATD
Добавлено: 2009-06-25 21:02:00
risk94
Топик заезженый, но походу не для меня.
Читал на сайте кучи вссего по сабжу - не помогло.
Собственно вот:
Машина с двумя сетевками. в локалке сервак. на ней крутися пяток сайтов и фтпшнег. необходимо выпустить все это наружу.
Делаю форвардинг порта натом:
Код: Выделить всё
cat /etc/natd.conf
log yes
log_denied no
use_sockets yes
same_ports yes
unregistered_only yes
redirect_port tcp 172.16.0.221:80 80
посоветуйте правильный пример фаервола, ибо то что есть у меня - загнало меня в тупик.
В определенной его конфиге наружу выпускает. Как бы все хорошо, НО, у меня есть еще машина, на ней тоже http, меняю в конфигах на ее ip-шник - и нифига не получается выпустить. ам шокед.
чтение манов и хауту с сайта просветления не дало. Буду очень благодарен, если ктонить сможет обьяснить мне мои ошибки и ткнуть где я плужу.
Спасибо. P.S. Подмогите нубу, plz!
Re: IPFW + NATD
Добавлено: 2009-06-25 22:26:04
hizel
а где ipfw show ? :-)
Re: IPFW + NATD
Добавлено: 2009-06-25 23:18:05
risk94
мдя-с. реально лопаетцо моск!
Код: Выделить всё
agw# ipfw show
00100 108 11884 pipe 1 tcp from 225.22.41.254 to any via nve0
00100 216 21986 allow ip from any to any via lo0
00200 101 7766 pipe 1 udp from 225.5.41.254 to any via nve0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 22 1292 pipe 1 ip from 225.22.41.254 to any via nve0
00300 0 0 deny ip from 127.0.0.0/8 to any
00400 0 0 allow tcp from 172.16.100.100 1723 to any keep-state
00500 0 0 allow tcp from any to 172.16.100.100 dst-port 1723
00600 0 0 allow gre from any to any
00700 887 50780 allow tcp from any to me dst-port 22
00800 835 105719 allow tcp from me 22 to any established
00900 8 704 allow udp from any to any dst-port 53
01000 72 10913 allow udp from any 53 to any
01100 2024 161737 allow tcp from any to 172.16.0.221 dst-port 80 setup
01200 19 952 deny tcp from any to any dst-port 135,136,137,138,139 via nve0
01300 2227 174093 divert 8668 ip from any to 225.22.41.254 via nve0
01400 2266 2751101 divert 8668 ip from 172.16.0.0/16 to any via nve0
01500 27 1572 allow icmp from any to any
01600 0 0 deny icmp from any to any frag
01700 0 0 deny tcp from any to me dst-port 135,136,137,138,139 via nve0
01800 237 13928 allow tcp from any to any setup
01900 6656 5671339 allow tcp from any to any established
02000 10 759 deny ip from any to me
65535 266048 25183568 deny ip from any to any
Так вот, если я корректирую ip на который заворачиваем 80 порт то нифига не пашет, хотя на обеих машинах - работающие http!!! Как такое может быть?
Re: IPFW + NATD
Добавлено: 2009-06-26 0:25:21
schizoid
при корректировке ИПа 1100 правило тоже меняешь?
и шлюз по-умолчанию на втором компе тоже шлюз?
Re: IPFW + NATD
Добавлено: 2009-06-26 16:04:26
risk94
1100 правило меняю, а вот шлюз на втором сервакке другой. хм. походу из-за этого, но rinetd пробрасываетъ. только он реально не годится - жрет ресурсы проца под 100 через пару недель. Да и фтпшнег нужно пробросить исче. Все же странно. почему тогда пробрасывает rinetd ??
Re: IPFW + NATD
Добавлено: 2009-06-26 21:41:09
risk94
В общем пробрасываетсо.
Ниже выкладываю необходимую инфу для таких новичков как я. Т.к. Искал долго. Думаю пригодится.
И еще, может кто посмотреть на "нормальность" (правильность/корректность) моих правил фаервола? Хотелось бы выслушать рекламации профессионалов.
Опции ядра касаемо фаервола и форвардинга:
Код: Выделить всё
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_FORWARD
options IPDIVERT
options DUMMYNET
options TCP_DROP_SYNFIN
# cat /etc/natd.conf
Код: Выделить всё
log yes
log_denied no
use_sockets yes
same_ports yes
deny_incoming no
unregistered_only yes
redirect_port tcp 172.16.0.221:80 225.22.41.254:80
redirect_port tcp 172.16.0.221:20 225.22.41.254:20
redirect_port tcp 172.16.0.221:21 225.22.41.254:21
redirect_port tcp 172.16.0.221:50000-50100 225.22.41.254:50000-50100
Портов для фтпшника пробросил сотню - машинка не сильно нагружена. (на первое время хватит, хотя скорее даже много)
Код: Выделить всё
oif="nve0"
onet="225.22.41.252"
omask="255.255.255.252"
oip="225.22.41.254"
iif="ste0"
inet="172.16.0.0"
imask="255.255.0.0"
iip="172.16.100.100"
${fwcmd} add check_state
${fwcmd} add pipe 1 tcp from ${oip} to any via ${oif}
${fwcmd} add pipe 1 udp from ${oip} to any via ${oif}
${fwcmd} add pipe 1 ip from ${oip} to any via ${oif}
${fwcmd} pipe 1 config bw 100Mbit/s
# VPN PPTP
${fwcmd} add allow tcp from ${iip} 1723 to any keep-state
${fwcmd} add allow tcp from any to ${iip} 1723
${fwcmd} add allow gre from any to any
# SSH
${fwcmd} add allow tcp from any to me 22
${fwcmd} add allow tcp from me 22 to any established
# DNS
${fwcmd} add allow udp from any to any domain
${fwcmd} add allow udp from any domain to any
# HTTP
${fwcmd} add allow log tcp from any to 172.16.0.221 80 in via ${oif} setup
# NATD Rules
setup_loopback
${fwcmd} add deny tcp from any to any 135,136,137,138,139 via ${oif}
${fwcmd} add divert natd all from any to ${oip} via ${oif}
case ${natd_enable} in
[Yy][Ee][Ss])
if [ -n "${natd_interface}" ]; then
${fwcmd} add divert natd all from ${inet}:${imask} to any via ${natd_interface}
fi
;;
esac
# FTP
${fwcmd} add allow all from any to 172.16.0.221 50000-50100 in via ${oif} setup
${fwcmd} add allow tcp from any to me 20,21
${fwcmd} add allow tcp from me 20,21 to any stablished
#${fwcmd} add deny tcp from ${inet}:${imask} to any http,https via ${oif}
${fwcmd} add deny tcp from any to any 135,136,137,138,139 via ${oif}
${fwcmd} add pass ICMP from any to any # Razreshit ping
${fwcmd} add deny icmp from any to any frag # Zapretit fragmentirovanie paketi
${fwcmd} add deny tcp from any to me 135,136,137,138,139 via ${oif} # zapretit dostup k portam cherez vneshniy interf
${fwcmd} add pass tcp from any to any setup
${fwcmd} add pass tcp from any to any established
${fwcmd} add deny all from any to me
;;
что-то он мне кажется сильно открытым...