FreeBSD 6.1 + ipfw + NAT: конфиг по примеру не работает

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

FreeBSD 6.1 + ipfw + NAT: конфиг по примеру не работает

Непрочитанное сообщение Four » 2007-10-24 11:16:55

Сделал конфиг аналогичный примеру на сайте:

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

#!/bin/sh
. /etc/rc.subr
# IPFW binary
FwCMD="/sbin/ipfw "            
# ext if
LanOut="rl1"               
# ext lan
NetOut="81.30.*.126/27"   
# ext ip
IpOut="81.30.*.126"    

# int if
LanIn="rl0"                  
# int lan
NetIn="192.168.0.0/24"       
# int addr mask
ip_lan="192.168.0"       

# LuckyNet
LuckyNet="192.168.1.0/24"
# JuiceNet
JuiceNet="192.168.0.0/24"

${FwCMD} -f flush      

${FwCMD} add allow ip from any to any via lo0 

# JuiceNet <-> LuckyNet                                  
${FwCMD} add allow all from ${LuckyNet} to ${JuiceNet}
${FwCMD} add allow all from ${JuiceNet} to ${LuckyNet}

# deny packets `from intlan, but ext if`
${FwCMD} add deny ip from ${NetIn} to any in via ${LanOut}
# deny packets `from extlan, but int if`
${FwCMD} add deny ip from ${NetOut} to any in via ${LanIn}

#deny private nets on ext if
${FwCMD} add deny ip from any to 10.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 0.0.0.0/8 in via ${LanOut}
                                                                        
# drop autoconfig private net
${FwCMD} add deny ip from any to 169.254.0.0/16 in via ${LanOut}
# drop multicast
${FwCMD} add deny ip from any to 224.0.0.0/4 in via ${LanOut}
${FwCMD} add deny ip from any to 240.0.0.0/4 in via ${LanOut}
# drop frag icmp
${FwCMD} add deny icmp from any to any frag
# drop broadcast icmp ext if wid log
${FwCMD} add deny log icmp from any to 255.255.255.255 in via ${LanOut}
${FwCMD} add deny log icmp from any to 255.255.255.255 out via ${LanOut}

# transsquid
${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn} to any 80 via ${LanOut}

# NATting
${FwCMD} add divert natd ip from ${NetIn} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}

# drop private nets via ext
# THESE RULES DIFFERS FROM ABOVE !!!
${FwCMD} add deny ip from 10.0.0.0/8 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 0.0.0.0/8 to any out via ${LanOut}
# drop autoconfigured private net
${FwCMD} add deny ip from 169.254.0.0/16 to any out via ${LanOut}
# drop multicasts 
${FwCMD} add deny ip from 224.0.0.0/4 to any out via ${LanOut}
${FwCMD} add deny ip from 240.0.0.0/4 to any out via ${LanOut}

# ICMP echo-request, echo-reply, ttl expiried allowed
${FwCMD} add allow icmp from any to any icmptypes 0,8,11

# Internal Lan allowd on internal iface (inbound)
${FwCMD} add allow ip from any to ${NetIn} in via ${LanIn}
# Internal Lan allowd on internal iface (outbound)
${FwCMD} add allow ip from ${NetIn} to any out via ${LanIn}


# all established tcp allowed
${FwCMD} add allow tcp from any to any established


#DNS
${FwCMD} add allow udp from any 53 to ${IpOut} in via ${LanOut}
${FwCMD} add allow udp from ${IpOut} to any 53 out via ${LanOut}

# WWW
${FwCMD} add allow tcp from any to ${IpOut} 80 in via ${LanOut} setup
# FTP
${FwCMD} add allow tcp from any to ${IpOut} 20,21 in via ${LanOut} setup
# SSH                                         A
${FwCMD} add allow tcp from any to ${IpOut} 22 in via ${LanOut} setup
# Jabber
${FwCMD} add allow tcp from any to ${IpOut} 5222,5223,5269,9090 in via ${LanOut} setup
#IRC
${FwCMD} add allow tcp from any to ${IpOut} 6667-6699 in via ${LanOut} setup

########### BEGIN USERS   ###############################
# POP/SMTP allowed
${FwCMD} add allow tcp from ${NetIn} to smtp.masterhost.ru 25 in via ${LanIn} setup
${FwCMD} add allow tcp from ${NetIn} to pop.masterhost.ru 110 in via ${LanIn} setup
#ICQ allowed (Olesya)
${FwCMD} add allow tcp from 192.168.0.21 to any 5190 in via ${LanIn} setup
# All traffic allowed  
${FwCMD} add allow tcp from 192.168.0.199 to any in via ${LanIn} setup
############# END USERS #################################
С роутера все работает. С .199 пинги идут, не идет днс реквесты (когда прописываю после ${FwCMD} add allow udp from ${IpOut} to any 53 out via ${LanOut} разрешения доступа на внешний днс - работает).
Почему то не идет форвард на проксик (прозрачность на сквиде настроена).
LuckyNet<->JuiceNet - это гиф туннель между филиалами (не пашет :().
gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1280
tunnel inet 81.30.*.126 --> 81.30.*.86
inet 172.16.1.1 --> 172.16.1.2 netmask 0xfffffffc
Где я накосячил и в какую сторону копать?

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35056
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: FreeBSD 6.1 + ipfw + NAT: конфиг по примеру не работает

Непрочитанное сообщение Alex Keda » 2007-10-24 11:37:27

в сторону включения логгинга пакетов файрволла и смотреть что зарублено.
Убей их всех! Бог потом рассортирует...

Four
рядовой
Сообщения: 30
Зарегистрирован: 2007-10-24 10:49:39

Re: FreeBSD 6.1 + ipfw + NAT: конфиг по примеру не работает

Непрочитанное сообщение Four » 2007-10-24 12:41:27

ммм... через ipfw log или как то иначе?

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35056
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: FreeBSD 6.1 + ipfw + NAT: конфиг по примеру не работает

Непрочитанное сообщение Alex Keda » 2007-10-24 14:11:59

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

hosting$ sysctl -a | grep verb
net.inet.ip.fw.verbose: 1
net.inet.ip.fw.verbose_limit: 5000
hosting$   
Убей их всех! Бог потом рассортирует...

Four
рядовой
Сообщения: 30
Зарегистрирован: 2007-10-24 10:49:39

Re: FreeBSD 6.1 + ipfw + NAT: конфиг по примеру не работает

Непрочитанное сообщение Four » 2007-10-24 14:51:42

Убрал все deny кроме последнего и в правила с established и setup воткнул log.
применил конфиг, потыкался со своей машины (все также глухо).
в /var/log/security ничего не осело :(

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35056
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: FreeBSD 6.1 + ipfw + NAT: конфиг по примеру не работает

Непрочитанное сообщение Alex Keda » 2007-10-24 14:56:03

lissyara писал(а):

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

hosting$ sysctl -a | grep verb
net.inet.ip.fw.verbose: 1
net.inet.ip.fw.verbose_limit: 5000
hosting$   
Убей их всех! Бог потом рассортирует...

Four
рядовой
Сообщения: 30
Зарегистрирован: 2007-10-24 10:49:39

Re: FreeBSD 6.1 + ipfw + NAT: конфиг по примеру не работает

Непрочитанное сообщение Four » 2007-10-24 16:05:21

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

root@juicer# sysctl -a | grep verb
net.inet.ip.fw.verbose: 1
net.inet.ip.fw.verbose_limit: 5000
debug.bootverbose: 0
debug.cpufreq.verbose: 0
hw.acpi.verbose: 0
root@juicer#
угу. сделал я это перед применением нового конфига. Оказалось, лог просто не туда писался. посмотрел я лог.
И видится там, что для 199 ничего не запрещается (кроме, почему то, днс (хотя резолв проходит)). Но тем не менее почему то траффик не бегает по нату.

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

~ $ cat /var/log/security | grep Deny | grep 199
Oct 24 18:39:34 juicer kernel: ipfw: 2200 Deny UDP 192.168.0.199:52584 81.30.219.24:18396 in via rl0
Oct 24 18:39:39 juicer kernel: ipfw: 2200 Deny UDP 192.168.0.199:52585 77.79.144.144:6066 in via rl0
Oct 24 18:39:46 juicer kernel: ipfw: 2200 Deny UDP 192.168.0.199:52586 81.30.199.5:53 in via rl0
Oct 24 18:39:46 juicer kernel: ipfw: 2200 Deny UDP 192.168.0.199:52587 81.30.199.5:53 in via rl0
Oct 24 18:39:47 juicer kernel: ipfw: 2200 Deny UDP 192.168.0.199:52586 81.30.199.5:53 in via rl0
Oct 24 18:39:47 juicer kernel: ipfw: 2200 Deny UDP 192.168.0.199:52587 81.30.199.5:53 in via rl0
Oct 24 18:39:48 juicer kernel: ipfw: 2200 Deny UDP 192.168.0.199:52586 81.30.199.5:53 in via rl0
Oct 24 18:39:48 juicer kernel: ipfw: 2200 Deny UDP 192.168.0.199:52587 81.30.199.5:53 in via rl0
Oct 24 18:39:50 juicer kernel: ipfw: 2200 Deny UDP 192.168.0.199:52586 81.30.199.5:53 in via rl0
Oct 24 18:39:50 juicer kernel: ipfw: 2200 Deny UDP 192.168.0.199:52587 81.30.199.5:53 in via rl0
Oct 24 18:39:54 juicer kernel: ipfw: 2200 Deny UDP 192.168.0.199:52586 81.30.199.5:53 in via rl0
Oct 24 18:39:54 juicer kernel: ipfw: 2200 Deny UDP 192.168.0.199:52587 81.30.199.5:53 in via rl0
Oct 24 18:53:51 juicer kernel: ipfw: 2200 Deny UDP 192.168.0.199:52651 172.27.9.209:24891 in via rl0
Oct 24 18:53:51 juicer kernel: ipfw: 2200 Deny UDP 192.168.0.199:52651 172.27.9.209:24891 in via rl0

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35056
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: FreeBSD 6.1 + ipfw + NAT: конфиг по примеру не работает

Непрочитанное сообщение Alex Keda » 2007-10-24 16:08:55

так.
давай я те так скажу, я уже не раз с первого конфига делал Ctrl+C и Ctrl+V и правил тока имна интерфейсов и IP
работает.
===========
советую все дени заменить на дени лог.
Убей их всех! Бог потом рассортирует...