Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FreeBSD + ipfw + port mapping

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3

Открыть новую тему     Написать ответ в эту тему

ZAQAZ

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SSV_RA
нат запущен
все работает
машины из трех сетей за фрей ходят в сеть
соответственно в фаере не три правила
а по поводу адреса это просто окорался при наборе на форуме
реально указана именно вторая сеть
 
посмотрел tcpdump вот результат
IP "maindomain".ru 4515 > 212.212.212.212.80: S 2492300877:2492300877(0) win 65535 <mss 1460, nop,nop,sackOK >
IP 212.212.212.212.80>"maindomain".ru 4515  : R 0:0(0) ask 1 win 0

Всего записей: 15 | Зарегистр. 07-12-2003 | Отправлено: 15:47 05-07-2006
SSV_RA



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZAQAZ
Покажи все правила фаера как они есть.  
 
Я на несколько машин удаленно хожу, все работает, но себе сделал так
 
rc.conf
--------------------------------------------
gateway_enable="YES"
inetd_enable="YES"
inetd_flags="-a 192.168.1.1"
hostname="bla-bla-bla"
ifconfig_rl0="inet 192.168.1.1  netmask 255.255.0.0"
usbd_enable="YES"
squid_enable="YES"
sshd2_enable="YES"
sendmail_enable="NONE"
firewall_enable="YES"
natd_enable="YES"
natd_flags="-f /etc/natd.conf"
named_enable="YES"
--------------------------------------------
 
natd.conf
--------------------------------------------
alias_address xxx.xxx.xxx.xxx
redirect_port tcp 192.168.200.201:3389 3389
--------------------------------------------
 
rc.firewall
--------------------------------------------
....
${cmd} divert natd all from any to any via ng0
....
--------------------------------------------
ng0 - внешний интерфейс

Всего записей: 77 | Зарегистр. 21-02-2005 | Отправлено: 15:59 05-07-2006
ZAQAZ

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SSV_RA
rc.conf
defaultrouter="212.212.212.211"
gateway_enable="YES"
hostname="relay2.maindomain.ru"
ifconfig_xl0="inet 212.212.212.212  netmask 255.255.255.252"
ifconfig_xl1="inet 192.168.2.1  netmask 255.255.255.0"
inetd_enable="YES"
sshd_enable="YES"
gateway_enable="YES"
firewall_enable="YES"
firewall_script="/etc/ipfw.conf"
natd_enable="YES"
natd_interface="xl0"
natd_flags="-f /etc/natd.conf"
apache2_enable="YES"
 
natd.conf
alias_adress 212.212.212.212
log yes
redirect_port tcp 192.168.2.244:3389 3389
 
ipfw.conf
#!/bin/sh
ipfw -q flush
 
ipfw -q add 10 count ip from any to 212.212.212.212in via xl0
 
ipfw -q add 100 allow tcp from any to 212.212.212.212 25 in via xl0
ipfw -q add 101 allow tcp from any to 192.168.2.244 3389
ipfw -q add 102 allow tcp from 192.168.2.244 3389 to any
ipfw -q add 103 allow udp from any 123 to 212.212.212.212
ipfw -q add 105 allow tcp from any to 212.212.212.212 53
ipfw -q add 106 allow tcp from 212.212.212.212 53 to any
ipfw -q add 107 allow udp from any to 212.212.212.212 53
ipfw -q add 108 allow udp from 212.212.212.212 53 to any
ipfw -q add 109 allow all from any to any 443
ipfw -q add 110 deny tcp from 192.168.2.0/24 to any 445
ipfw -q add 111 deny tcp from 192.168.2.0/24 to any 139
 
ipfw -q add 190 divert 8668 tc from any to any
ipfw -q add 200 divert natd all from any to any via xl0
 
ipfw -q add 211 allow icmp from any to any icmptypes 0
ipfw -q add 212 allow icmp from any to any icmptypes 3
ipfw -q add 213 allow icmp from any to any icmptypes 4
ipfw -q add 214 allow icmp from any to any icmptypes 8
ipfw -q add 215 allow icmp from any to any icmptypes 11
ipfw -q add 216 allow icmp from any to any icmptypes 12
ipfw -q add 217 deny icmp from any to any frag
 
ipfw -q add 300 allow tcp from 212.212.212.212 to any 20
ipfw -q add 301 allow tcp from 212.212.212.212 to any 21
ipfw -q add 302 allow tcp from 212.212.212.212 to any 22
 
ipfw -q add 400 allow tcp from 192.168.2.100 to any 80
ipfw -q add 411 deny tcp from 192.168.0.0/24 to any 80
 
#firewall for localhost
ipfw -q add 500 allow ip from any to any via lo0
ipfw -q add 501 deny ip from any to 127.0.0.0/8
ipfw -q add 502 deny ip from 127.0.0.0/8 to any
 
вот так все пока выглядит
сейчас как раз занимаюсь причесыванием, но наткнулся на проблему переброса портов
все пожелания рассматриваются

Всего записей: 15 | Зарегистр. 07-12-2003 | Отправлено: 15:59 06-07-2006
SSV_RA



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZAQAZ
 
Попробуй так
ipfw -q add 101 count ip from any to 212.212.212.212in via xl0
ipfw -q add 102 divert natd all from any to any via xl0
ipfw -q add 103 allow tcp from any to any 3389  
ipfw -q add 104 allow tcp from any 3389 to any
 
А дальше как и было. Должно работать.  
Если хочешь разрешить для конкретного адреса то скорее всего придется делать так
 
ipfw -q add 101 count ip from any to 212.212.212.212in via xl0
ipfw -q add 102 divert natd all from any to any via xl0
ipfw -q add 103 allow tcp from any to me 3389 in via xl0
ipfw -q add 104 allow tcp from me 3389 to any out via xl0
ipfw -q add 103 allow tcp from any to 192.168.2.244 3389 via xl1
ipfw -q add 104 allow tcp from 192.168.2.244 3389 to any via xl1
 
А у тебя ipfw или ipfw2? Потому что если двоqка, то правила  
ipfw -q add 211 allow icmp from any to any icmptypes 0  
ipfw -q add 212 allow icmp from any to any icmptypes 3  
ipfw -q add 213 allow icmp from any to any icmptypes 4  
ipfw -q add 214 allow icmp from any to any icmptypes 8  
ipfw -q add 215 allow icmp from any to any icmptypes 11  
ipfw -q add 216 allow icmp from any to any icmptypes 12  
ipfw -q add 217 deny icmp from any to any frag  
 
ipfw -q add 300 allow tcp from 212.212.212.212 to any 20  
ipfw -q add 301 allow tcp from 212.212.212.212 to any 21  
ipfw -q add 302 allow tcp from 212.212.212.212 to any 22
 
можно заменить на  
ipfw -q add 211 allow icmp from any to any icmptypes 0,3,4,8,11,12
ipfw -q add 217 deny icmp from any to any frag  
 
ipfw -q add 300 allow tcp from 212.212.212.212 to any 20,21,22
 
 
Добавлено:
А вообще вот мой фаер, корявый конечно, но пока им некогда заниматься
 
#!/bin/sh
inet="ng0"
onet="rl0"
cmd="/sbin/ipfw add"
my="192.168.1.1"
 
/sbin/ipfw -q flush
 
#Loopback
${cmd} allow all from any to any via lo0
 
${cmd} count all from any to any in via ${inet}
${cmd} count all from any to any out via ${inet}
 
#SSH
${cmd} allow tcp from any to me 22
${cmd} allow tcp from me 22 to any
 
${cmd} divert natd all from any to any via ng0
 
#Ping
${cmd} allow ip from any to any icmptypes 0,8
 
#Proxy
${cmd} allow tcp from 192.168.100.144 to ${my} 3128 via ${onet}
${cmd} allow tcp from ${my} 3128 to 192.168.100.144 via ${onet}
${cmd} allow tcp from 192.168.200.201 to ${my} 3128 via ${onet}
${cmd} allow tcp from ${my} 3128 to 192.168.200.201 via ${onet}
${cmd} allow tcp from 192.168.150.2 to ${my} 3128 via ${onet}
${cmd} allow tcp from ${my} 3128 to 192.168.150.2 via ${onet}
${cmd} allow tcp from 192.168.100.13 to ${my} 3128 via ${onet}
${cmd} allow tcp from ${my} 3128 to 192.168.100.13 via ${onet}
${cmd} allow tcp from 192.168.100.50 to ${my} 3128 via ${onet}
${cmd} allow tcp from ${my} 3128 to 192.168.100.50 via ${onet}
${cmd} allow tcp from 192.168.100.55 to ${my} 3128 via ${onet}
${cmd} allow tcp from ${my} 3128 to 192.168.100.55 via ${onet}
${cmd} allow tcp from 192.168.100.77 to ${my} 3128 via ${onet}
${cmd} allow tcp from ${my} 3128 to 192.168.100.77 via ${onet}
${cmd} allow tcp from 192.168.100.88 to ${my} 3128 via ${onet}
${cmd} allow tcp from ${my} 3128 to 192.168.100.88 via ${onet}
${cmd} allow tcp from 192.168.100.135 to ${my} 3128 via ${onet}
${cmd} allow tcp from ${my} 3128 to 192.168.100.135 via ${onet}
${cmd} allow tcp from 192.168.100.98 to ${my} 3128 via ${onet} limit src-addr 1
${cmd} allow tcp from ${my} 3128 to 192.168.100.98 via ${onet}
 
#DNS
${cmd} allow tcp from any to any 53
${cmd} allow tcp from any 53 to any
${cmd} allow udp from any to any 53
${cmd} allow udp from any 53 to any
 
${cmd} allow tcp from any to x.x.x.x 3264
${cmd} allow tcp from x.x.x.x 3264 to any
 
#RDP
${cmd} allow tcp from any to any 3389
${cmd} allow tcp from any 3389 to any
 
#ICQ
${cmd} allow tcp from any to any 5190
${cmd} allow tcp from any 5190 to any
 
#FTP
${cmd} allow tcp from any to ${my} 20,21 via ${onet}
${cmd} allow tcp from ${my} 20,21 to any via ${onet}
 
#Mail
${cmd} allow tcp from 192.168.1.2 to any 25,110
${cmd} allow tcp from any 25,110 to 192.168.1.2
 
${cmd} deny udp from any to me 137,138,139,514 via ${inet}
${cmd} deny all from any to any via ${onet}
${cmd} allow all from any to any via ${inet}

Всего записей: 77 | Зарегистр. 21-02-2005 | Отправлено: 16:43 06-07-2006 | Исправлено: SSV_RA, 16:45 06-07-2006
ZAQAZ

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SSV_RA
спасибо попробую
единственное что пугает это расположения сервера
одно неправильное правило и я его теряю
он находиться от меня в 100 км.
на днях поигрался пришлось ехать
так что пока поробую на каком нибудь экспериментальном сервере

Всего записей: 15 | Зарегистр. 07-12-2003 | Отправлено: 07:53 07-07-2006
SSV_RA



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZAQAZ
Сделай начало фаера чтобы всегда было такое, и никаких проблем
ipfw -q add allow tcp from any to me 22
ipfw -q add allow tcp from me 22 to any
ipfw -q add count ip from any to 212.212.212.212in via xl0  
ipfw -q add divert natd all from any to any via xl0  
ipfw -q add allow tcp from any to any 3389  
ipfw -q add allow tcp from any 3389 to any
 
У тебя всегда будут первыми правила, которые разрешают работать по SSH.
 
Либо как я раньше делал, забивал в крон (когда начинал править фаер) каждые (например) 15 мин он выполняет скрипт со старыми правилами. И если ошибся в фаере, то через 1-15 мин машина опять будет доступна. Меня так несколько раз спасало

Всего записей: 77 | Зарегистр. 21-02-2005 | Отправлено: 09:36 07-07-2006
ZAQAZ

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SSV_RA
примерно так и делаю
перед тем как править что либо отправляю машину на перезагрузку через минут 20
но пугает то что не загрузилась машина из-за того что ошибся в rc.conf
вот и пришлось ехать

Всего записей: 15 | Зарегистр. 07-12-2003 | Отправлено: 10:39 07-07-2006
ZAQAZ

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
добрался наконец то до сервера
попробовал
в rc.conf вписываю строку
natd_flags="-f /etc/natd.conf"
отправляю ее на перезагрузку и она умерает на стадии загрузки sendmaila
пропускаю его загрузку, после чего не работает инет вообще
из нутри машина пингуется а с наружи ее как будто вообще нет

Всего записей: 15 | Зарегистр. 07-12-2003 | Отправлено: 12:45 13-07-2006
SSV_RA



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ZAQAZ
А что поменял в natd.conf? Что говорят логи?
И зачем обязательно перезагрузка? Это же не Windows, тут 90% задач решается без перезагрузки

Всего записей: 77 | Зарегистр. 21-02-2005 | Отправлено: 23:59 15-07-2006 | Исправлено: SSV_RA, 00:01 16-07-2006
ZAQAZ

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
natd.conf
alias_adress 212.212.212.212
redirect_port tcp 192.168.0.2:80 80
 

Всего записей: 15 | Зарегистр. 07-12-2003 | Отправлено: 08:08 02-08-2006 | Исправлено: ZAQAZ, 08:09 02-08-2006
MUSICFROMWEB



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нужно замапить порт приходящий на NAT(фря +  ipfw + natd ) на мою машину 192.168.2.26
 
как я понял нужно в /etc/natd.conf  
внести
Код:
redirect_port tcp 192.168.2.26:37000 37000  

 
а вот что еще нужно поправить в  ipfw ???

Всего записей: 427 | Зарегистр. 01-05-2006 | Отправлено: 23:38 01-10-2006
SSV_RA



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MUSICFROMWEB
Если у тебя по умолчанию весь трафик на внешнем интерфейсе заворачивается на natd, то ничего и делать не нужно. Если нет, то весь входящий трафик с портом получателя 37000 и исходящий трафик с портом отправителя 37000 заворачивать на нат, вот типа такого
divert natd tcp from any to xxx.xxx.xxx.xxx 37000 in via rl0
divert natd tcp from 192.168.2.26 37000 to any in via rl1
 
rl0 - внешний интерфейс
rl1 - внутренний интерфейс

Всего записей: 77 | Зарегистр. 21-02-2005 | Отправлено: 23:43 12-10-2006
13th_apostle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
проблема с freebsd+ipfw+natd. подробно и с описанием шагов приведено в
freebsd 5.5, ipfw+natd: port-mapping, в "сухом" остатке:
настройки сети:
freebsd# ifconfig
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=b<RXCSUM,TXCSUM,VLAN_MTU>
        inet 192.168.0.66 netmask 0xffffff00 broadcast 192.168.0.255
        ether 00:02:b3:2e:e3:d7
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
fxp1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet 10.0.2.35 netmask 0xfffff000 broadcast 10.0.15.255
        ether 00:50:8b:5e:70:5a
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST> mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000

fxp0 - внутр., fxp1 - внешний интерфейсы.
настройка ipfw:
freebsd# ipfw list
00010 divert 8668 tcp from any to 10.0.2.35 dst-port 20-21 in via fxp1
00015 divert 8668 tcp from 192.168.0.11 20-21 to any in via fxp0
00030 allow ip from any to any
00100 allow ip from me to 192.168.0.0/24
00101 allow ip from 192.168.0.0/24 to me
65535 deny ip from any to any

настройки natd:
freebsd# cat /etc/natd.conf
same_ports yes
use_sockets yes
log yes
redirect_port tcp 192.168.0.11:20-21 20-21

 
в рез-те все же не могу подключиться с компа из внешней сети к ftp.

Всего записей: 45 | Зарегистр. 07-04-2005 | Отправлено: 17:11 08-11-2006 | Исправлено: 13th_apostle, 17:13 08-11-2006
SSV_RA



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Попробуй для начала заменить 10 и 15 правило на  
divert natd all from any to any via fxp1
Проверь запущен ли нат.
И точно не помню, но по моему тебе еще нужно прописать в rc.conf
gateway_enable="YES"
А вообще, я обычно просто прописываю в определенных строках (где думаю затык) логирование, и все становится ясно как день.

Всего записей: 77 | Зарегистр. 21-02-2005 | Отправлено: 09:41 09-11-2006
13th_apostle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Проверь запущен ли нат.  

freebsd# /etc/rc.d/natd status
natd is running as pid 4004.
 

Цитата:
И точно не помню, но по моему тебе еще нужно прописать в rc.conf  
gateway_enable="YES"

freebsd# cat /etc/rc.conf
 
# -- sysinstall generated deltas -- # Fri Sep  1 19:51:21 2006
# Created: Fri Sep  1 19:51:21 2006
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
gateway_enable="YES"
linux_enable="YES"
moused_enable="YES"
sshd_enable="YES"
usbd_enable="YES"
samba_enable="YES"
firewall_enable="YES"
firewall_logging="YES"
natd_enable="YES"
natd_interface="fxp1"
natd_flags="-f /etc/natd.conf"
quagga_enable="YES"
quagga_flags="-d"
quagga_daemons="zebra ripd ripngd ospfd ospf6d bgpd isisd"
 
# This file now contains just the overrides from /etc/defaults/rc.conf.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
 
ifconfig_fxp0="DHCP"
hostname="freebsd.domain.ru"
ntpdate_flags="srv.domain.ru"
ntpdate_enable="YES"
 
moused_flags=""
moused_port="/dev/psm0"
moused_type="auto"
moused_enable="YES"
 
ifconfig_fxp1="inet 10.0.2.35  netmask 255.255.240.0"
hostname="freebsd.domain.ru"
 
ps. адрес по dhcp выдается ч/з резервирование, так что не меняется.

Цитата:
Попробуй для начала заменить 10 и 15 правило на  
divert natd all from any to any via fxp1  

спасибо, попробую счаз
 

Цитата:
А вообще, я обычно просто прописываю в определенных строках (где думаю затык) логирование, и все становится ясно как день.

а никаких для логирования опций ядра дополнительных не надо?

Всего записей: 45 | Зарегистр. 07-04-2005 | Отправлено: 11:49 09-11-2006
SSV_RA



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
см Handbook 26.6.2 Kernel Options
It is not a mandatory requirement that you enable IPFW by compiling the following options into the FreeBSD kernel unless you need NAT function. It is presented here as background information.
options    IPFIREWALL
 
This option enables IPFW as part of the kernel
options    IPFIREWALL_VERBOSE
 
Enables logging of packets that pass through IPFW and have the 'log' keyword specified in the rule set.
 
options    IPFIREWALL_VERBOSE_LIMIT=5
Limits the number of packets logged through syslogd(8) on a per entry basis. You may wish to use this option in hostile environments which you want to log firewall activity. This will close a possible denial of service attack via syslog flooding.
 
options    IPDIVERT
This enables the use of NAT functionality.

Всего записей: 77 | Зарегистр. 21-02-2005 | Отправлено: 12:49 09-11-2006 | Исправлено: SSV_RA, 12:50 09-11-2006
13th_apostle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SSV_RA
включил правило nat'ить все, выставил заносить применение всех правил в лог.
ядро:
freebsd# cat /usr/src/sys/i386/conf/CUBXL | grep options | more
# An exhaustive list of options and more detailed explanations of the
options         SCHED_4BSD              # 4BSD scheduler
options         INET                    # InterNETworking
#options        INET6                   # IPv6 communications protocols
options         FFS                     # Berkeley Fast Filesystem
options         SOFTUPDATES             # Enable FFS soft updates support
options         UFS_ACL                 # Support for access control lists
options         UFS_DIRHASH             # Improve performance on big directories
options         MD_ROOT                 # MD is a potential root device
options         NFSCLIENT               # Network Filesystem Client
options         NFSSERVER               # Network Filesystem Server
options         NFS_ROOT                # NFS usable as /, requires NFSCLIENT
options         MSDOSFS                 # MSDOS Filesystem
options         CD9660                  # ISO 9660 Filesystem
options         PROCFS                  # Process filesystem (requires PSEUDOFS)
options         PSEUDOFS                # Pseudo-filesystem framework
options         GEOM_GPT                # GUID Partition Tables.
options         COMPAT_43               # Compatible with BSD 4.3 [KEEP THIS!]
options         COMPAT_FREEBSD4         # Compatible with FreeBSD4
options         SCSI_DELAY=15000        # Delay (in ms) before probing SCSI
options         KTRACE                  # ktrace(1) support
options         SYSVSHM                 # SYSV-style shared memory
options         SYSVMSG                 # SYSV-style message queues
options         SYSVSEM                 # SYSV-style semaphores
options         _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extension
s
options         KBD_INSTALL_CDEV        # install a CDEV entry in /dev
options         AHC_REG_PRETTY_PRINT    # Print register bitfields in debug
options         AHD_REG_PRETTY_PRINT    # Print register bitfields in debug
options         ADAPTIVE_GIANT          # Giant mutex is adaptive.
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPDIVERT

options         ATA_STATIC_ID   # Static device numbering
#device         dpt             # DPT Smartcache III, IV - See NOTES for options
#options        XSERVER         # support for X server on a vt console
#options        FAT_CURSOR      # start with block cursor
# Power management support (see NOTES for more options)

 
лог firewall'а
/var/log/security
...
Nov  9 13:06:04 freebsd kernel: ipfw: 10 Divert 8668 TCP 10.0.2.32:13227 10.0.2.35:25 in via fxp1
...

и никаких записей с 10.0.2.35:25 или 192.168.0.11:25 (куда на данный момент я маплю входящие пакеты на 25ый порт) более.
где можно посмотреть логи самого natd? в мануалах грится про /var/log/alias.log, но его структура непонятна:
freebsd# cat /var/log/alias.log | more
PacketAlias/InitPacketAliasLog: Packet alias logging enabled.
icmp=0, udp=0, tcp=1, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=1  (sock=0)
icmp=0, udp=1, tcp=1, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=2  (sock=0)
icmp=0, udp=2, tcp=1, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=3  (sock=0)
icmp=0, udp=3, tcp=1, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=4  (sock=0)
icmp=0, udp=4, tcp=1, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=5  (sock=0)
icmp=0, udp=5, tcp=1, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=6  (sock=0)
icmp=0, udp=6, tcp=1, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=7  (sock=0)
icmp=0, udp=7, tcp=1, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=8  (sock=0)
icmp=0, udp=8, tcp=1, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=9  (sock=0)
icmp=0, udp=9, tcp=1, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=10  (sock=0)

Всего записей: 45 | Зарегистр. 07-04-2005 | Отправлено: 13:27 09-11-2006 | Исправлено: 13th_apostle, 13:29 09-11-2006
SSV_RA



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Поставь в каждое правило лог, и смотри что напишет.
А откуда зайти пытаешся? С внешнего мира? Через ADSL модем?
И добавь правило например 1000 deny log all from any to any
Потому что, если не ошибаюсь, правило 65535 не получится протоколировать.  
Как выглядит правило где заворачиваешь все на нат?

Всего записей: 77 | Зарегистр. 21-02-2005 | Отправлено: 17:40 09-11-2006 | Исправлено: SSV_RA, 17:43 09-11-2006
13th_apostle

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
freebsd# ipfw show
00050 88671 10068625 divert 8668 log ip from any to any
00070 88268 10310680 allow log ip from any to any
00100   796    97554 allow log ip from me to 192.168.0.0/24
00101   850    85316 allow log ip from 192.168.0.0/24 to me
65535  4535   609687 deny ip from any to any

с таким набором правил все работает.
лог:  

Код:
freebsd# cat nated7
20108    Nov    10    10:52:24    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 10.0.2.35:25 in via fxp1
20109    Nov    10    10:52:24    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.32:39354 195.201.25.11:25 in via fxp1
20110    Nov    10    10:52:24    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 195.201.25.11:25 out via fxp0
20111    Nov    10    10:52:24    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:39354 195.201.25.11:25 out via fxp0
20112    Nov    10    10:52:24    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.35:39354 in via fxp0
20113    Nov    10    10:52:24    freebsd    kernel:    ipfw:    70    Accept TCP 195.201.25.11:25 10.0.2.32:39354 in via fxp0
20114    Nov    10    10:52:24    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.32:39354 out via fxp1
20115    Nov    10    10:52:24    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:25 10.0.2.32:39354 out via fxp1
20116    Nov    10    10:52:24    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 10.0.2.35:25 in via fxp1
20117    Nov    10    10:52:24    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.32:39354 195.201.25.11:25 in via fxp1
20118    Nov    10    10:52:24    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 195.201.25.11:25 out via fxp0
20119    Nov    10    10:52:24    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:39354 195.201.25.11:25 out via fxp0
20134    Nov    10    10:52:25    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.35:39354 in via fxp0
20135    Nov    10    10:52:25    freebsd    kernel:    ipfw:    70    Accept TCP 195.201.25.11:25 10.0.2.32:39354 in via fxp0
20136    Nov    10    10:52:25    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.32:39354 out via fxp1
20137    Nov    10    10:52:25    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:25 10.0.2.32:39354 out via fxp1
20142    Nov    10    10:52:25    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 10.0.2.35:25 in via fxp1
20143    Nov    10    10:52:25    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.32:39354 195.201.25.11:25 in via fxp1
20144    Nov    10    10:52:25    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 195.201.25.11:25 out via fxp0
20145    Nov    10    10:52:25    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:39354 195.201.25.11:25 out via fxp0
20148    Nov    10    10:52:26    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 10.0.2.35:25 in via fxp1
20149    Nov    10    10:52:26    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.32:39354 195.201.25.11:25 in via fxp1
20150    Nov    10    10:52:26    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 195.201.25.11:25 out via fxp0
20151    Nov    10    10:52:26    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:39354 195.201.25.11:25 out via fxp0
20154    Nov    10    10:52:26    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.35:39354 in via fxp0
20155    Nov    10    10:52:26    freebsd    kernel:    ipfw:    70    Accept TCP 195.201.25.11:25 10.0.2.32:39354 in via fxp0
20156    Nov    10    10:52:26    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.32:39354 out via fxp1
20157    Nov    10    10:52:26    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:25 10.0.2.32:39354 out via fxp1
20158    Nov    10    10:52:26    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 10.0.2.35:25 in via fxp1
20159    Nov    10    10:52:26    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.32:39354 195.201.25.11:25 in via fxp1
20160    Nov    10    10:52:26    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 195.201.25.11:25 out via fxp0
20161    Nov    10    10:52:26    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:39354 195.201.25.11:25 out via fxp0
20162    Nov    10    10:52:26    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.35:39354 in via fxp0
20163    Nov    10    10:52:26    freebsd    kernel:    ipfw:    70    Accept TCP 195.201.25.11:25 10.0.2.32:39354 in via fxp0
20164    Nov    10    10:52:26    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.32:39354 out via fxp1
20165    Nov    10    10:52:26    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:25 10.0.2.32:39354 out via fxp1
20166    Nov    10    10:52:26    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 10.0.2.35:25 in via fxp1
20167    Nov    10    10:52:26    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.32:39354 195.201.25.11:25 in via fxp1
20168    Nov    10    10:52:26    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 195.201.25.11:25 out via fxp0
20169    Nov    10    10:52:26    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:39354 195.201.25.11:25 out via fxp0
20174    Nov    10    10:52:26    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.35:39354 in via fxp0
20175    Nov    10    10:52:26    freebsd    kernel:    ipfw:    70    Accept TCP 195.201.25.11:25 10.0.2.32:39354 in via fxp0
20176    Nov    10    10:52:26    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.32:39354 out via fxp1
20177    Nov    10    10:52:26    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:25 10.0.2.32:39354 out via fxp1
20178    Nov    10    10:52:26    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 10.0.2.35:25 in via fxp1
20179    Nov    10    10:52:26    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.32:39354 195.201.25.11:25 in via fxp1
20180    Nov    10    10:52:26    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 195.201.25.11:25 out via fxp0
20181    Nov    10    10:52:26    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:39354 195.201.25.11:25 out via fxp0
20182    Nov    10    10:52:27    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.35:39354 in via fxp0
20183    Nov    10    10:52:27    freebsd    kernel:    ipfw:    70    Accept TCP 195.201.25.11:25 10.0.2.32:39354 in via fxp0
20184    Nov    10    10:52:27    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.32:39354 out via fxp1
20185    Nov    10    10:52:27    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:25 10.0.2.32:39354 out via fxp1
20186    Nov    10    10:52:27    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 10.0.2.35:25 in via fxp1
20187    Nov    10    10:52:27    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.32:39354 195.201.25.11:25 in via fxp1
20188    Nov    10    10:52:27    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 195.201.25.11:25 out via fxp0
20189    Nov    10    10:52:27    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:39354 195.201.25.11:25 out via fxp0
20190    Nov    10    10:52:27    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.35:39354 in via fxp0
20191    Nov    10    10:52:27    freebsd    kernel:    ipfw:    70    Accept TCP 195.201.25.11:25 10.0.2.32:39354 in via fxp0
20192    Nov    10    10:52:27    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.32:39354 out via fxp1
20193    Nov    10    10:52:27    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:25 10.0.2.32:39354 out via fxp1
20194    Nov    10    10:52:27    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.35:39354 in via fxp0
20195    Nov    10    10:52:27    freebsd    kernel:    ipfw:    70    Accept TCP 195.201.25.11:25 10.0.2.32:39354 in via fxp0
20196    Nov    10    10:52:27    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.32:39354 out via fxp1
20197    Nov    10    10:52:27    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:25 10.0.2.32:39354 out via fxp1
20198    Nov    10    10:52:27    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 10.0.2.35:25 in via fxp1
20199    Nov    10    10:52:27    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.32:39354 195.201.25.11:25 in via fxp1
20200    Nov    10    10:52:27    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 195.201.25.11:25 out via fxp0
20201    Nov    10    10:52:27    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:39354 195.201.25.11:25 out via fxp0
20202    Nov    10    10:52:27    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 10.0.2.35:25 in via fxp1
20203    Nov    10    10:52:27    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.32:39354 195.201.25.11:25 in via fxp1
20204    Nov    10    10:52:27    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 10.0.2.32:39354 195.201.25.11:25 out via fxp0
20205    Nov    10    10:52:27    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:39354 195.201.25.11:25 out via fxp0
20206    Nov    10    10:52:27    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.35:39354 in via fxp0
20207    Nov    10    10:52:27    freebsd    kernel:    ipfw:    70    Accept TCP 195.201.25.11:25 10.0.2.32:39354 in via fxp0
20208    Nov    10    10:52:27    freebsd    kernel:    ipfw:    50    Divert 8668 TCP 195.201.25.11:25 10.0.2.32:39354 out via fxp1
20209    Nov    10    10:52:27    freebsd    kernel:    ipfw:    70    Accept TCP 10.0.2.35:25 10.0.2.32:39354 out via fxp1
 

это лог работающего ната при вышеприведенном наборе правил. но это, imho, неверно - кидать весь трафик сперва на нат, даже если этого не требуется.
 
Добавлено:
зайти пытаюсь из подсети провайдера, к-рая является внешней для моей локалки.
 
Добавлено:
отличная статья: Настройка NATD в среде FreeBSD - подсказала, куда копать:
следующая эволюция работающих правил для nat выглядит так:

Код:
freebsd# ipfw show
00045      8      515 divert 8668 log ip from 192.168.0.0/24 to any out via fxp1
00055      9      374 divert 8668 log ip from any to 10.0.2.35 in via fxp1
00065     77     6608 allow log ip from any to any via fxp0
00070 115129 13991631 allow log ip from any to any
00100    796    97554 allow log ip from me to 192.168.0.0/24
00101    850    85316 allow log ip from 192.168.0.0/24 to me
65535   4535   609687 deny ip from any to any

Всего записей: 45 | Зарегистр. 07-04-2005 | Отправлено: 10:58 10-11-2006 | Исправлено: 13th_apostle, 12:37 10-11-2006
SSV_RA



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Чето не понял, у тебя заработало или нет?

Всего записей: 77 | Зарегистр. 21-02-2005 | Отправлено: 13:04 10-11-2006
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » FreeBSD + ipfw + port mapping


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru