IPFW+NAT старые песни о главном

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
gilas
мл. сержант
Сообщения: 85
Зарегистрирован: 2009-02-16 18:48:58

IPFW+NAT старые песни о главном

Непрочитанное сообщение gilas » 2009-12-04 15:46:07

Имеется машина FreeBSD 7.2 i386

кастом-ядро с опциями:

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

options><------>IPFIREWALL
options><------>IPFIREWALL_VERBOSE
options><------>IPFIREWALL_VERBOSE_LIMIT=100
options><------>IPFIREWALL_FORWARD
options><------>IPFIREWALL_NAT
options><------>LIBALIAS
options><------>DUMMYNET
options><------>HZ=1000
options><------>DEVICE_POLLING
а так же имеется задачка, которую не могу решить: нужно пробросить порт 9191 этой машины на другую с портом 10000. пока провожу эксперименты в локальной сети, т.е. обе машины в одной локалке. убил уже почти 2 дня, начав с полуумершего natd. собственно прошу помощи в реализации сего, если не трудно - покажите наглядно простейшую конфигурацию для проброса портов... :drinks:


ps прошу не предлагать переход на pf или другие nat-ы
ps2 свои текущие попытки конфигураций правил кидать думаю нет смысла, ибо я уже совсем в них запутался :st:

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Morty
ст. лейтенант
Сообщения: 1370
Зарегистрирован: 2007-07-17 23:25:12

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение Morty » 2009-12-04 16:18:23

распутываю:
есть кантупер 2 сетевки (int ext) с натом или без ната - в данном случае одинаково работает (вроде :smile: )
делаешь

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

cd /usr/ports/net/rinetd/ && make install clean
в /usr/local/etc/rinetd.conf

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

ext_ip port int_ip port
и в фаерволе открываешь порт port

ivan__
сержант
Сообщения: 234
Зарегистрирован: 2009-08-11 15:48:32
Откуда: Питер

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение ivan__ » 2009-12-04 17:23:46

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

nat 1 config log if rl0 same_ports reset deny_in redirect_port tcp xxx.yyy.zzz.xyz:10000 9191
А вообще про nat смотри тут http://www.lissyara.su/?id=1967

gilas
мл. сержант
Сообщения: 85
Зарегистрирован: 2009-02-16 18:48:58

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение gilas » 2009-12-04 20:44:50

Morty писал(а):распутываю:
есть кантупер 2 сетевки (int ext) с натом или без ната - в данном случае одинаково работает (вроде :smile: )
делаешь

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

cd /usr/ports/net/rinetd/ && make install clean
в /usr/local/etc/rinetd.conf

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

ext_ip port int_ip port
и в фаерволе открываешь порт port
при чем тут rinetd или как быть с проблемой невозможностью отследить реальный ip адрес c которого был послан, например http запрос ?

ivan__ писал(а):

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

nat 1 config log if rl0 same_ports reset deny_in redirect_port tcp xxx.yyy.zzz.xyz:10000 9191
А вообще про nat смотри тут http://www.lissyara.su/?id=1967
192.168.1.12 - машина, на которую в итоге нужно попасть
192.168.1.5 - тут настраиваю нат

Добавляю правило:

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

${FwCMD} nat 1 config log if rl0 same_ports reset deny_in redirect_port tcp 192.168.1.12:80 9191
После чего, в логах ругается на заблокированный доступ на порт 9191, открываю порт, добавляя правило сразу после правила ната:

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

${FwCMD} add allow tcp from any to any 9191 in via rl0
Проеряю:

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

[root@spice tmp]# telnet 192.168.1.5 9191
Trying 192.168.1.5...
telnet: connect to address 192.168.1.5: Connection timed out
Вообщем прогресса никакого...

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

ipfw show
00100  0     0 check-state
00200  0     0 allow ip from any to any via lo0
00300  0     0 deny ip from any to 127.0.0.0/8
00400  0     0 deny ip from 127.0.0.0/8 to any
00500  0     0 allow tcp from any to me dst-port 80 limit src-addr 30
00600  0     0 allow tcp from any to me dst-port 80 via rl1 setup limit src-addr 10
00700  0     0 reject tcp from any to any tcpflags syn,fin,ack,psh,rst,urg
00800  0     0 reject tcp from any to any tcpflags !syn,!fin,!ack,!psh,!rst,!urg
00900  0     0 reject tcp from any to any not established tcpflags fin
01000  0     0 reject log logamount 10 ip from any to any not verrevpath in
01100  0     0 deny icmp from any to any frag
01200  0     0 allow icmp from any to me icmptypes 0,8,11
01300  0     0 allow icmp from any to any via rl0
01400  0     0 allow icmp from any to xx.xx.xx.xx in via rl1 icmptypes 0,3,4,11,12
01500  0     0 allow icmp from xx.xx.xx.xx to any out via rl1 icmptypes 3,8,12
01600  0     0 allow icmp from xx.xx.xx.xx to any out via rl1 frag
01700 51 10328 allow tcp from any to any established
01800  0     0 allow udp from any 53 to me in via rl1
01900  0     0 allow udp from any 53 to me in via rl0
02000  0     0 allow tcp from any to any out via rl0
02100  0     0 allow udp from any to any out via rl0
02200  0     0 allow tcp from any to any out via rl1
02300  0     0 allow udp from any to any out via rl1
02400  0     0 allow tcp from any to any dst-port 10000 in via rl0
02500  0     0 allow tcp from any to any dst-port 10000 in via rl1
02600  0     0 allow tcp from any to any dst-port 10001 in via rl1
02700  0     0 allow tcp from 192.168.1.20 to any dst-port 80 in via rl0
02800  0     0 allow tcp from any to any dst-port 80 in via rl1
02900  0     0 allow tcp from 192.168.1.21 to any dst-port 80 in via rl0
03000  0     0 allow tcp from 192.168.1.20 to any dst-port 9898 in via rl0
03100  0     0 allow tcp from xx.xx.xx.xx to any dst-port 12500 in via rl1
03200  0     0 allow tcp from xx.xx.xx.xx to any dst-port 3389 in via rl1
03300  0     0 allow udp from any to any dst-port 123 via rl1
03400  0     0 allow tcp from any to any dst-port 9191 in via rl0
03500  1    68 deny log logamount 10 ip from any to any
65535 11   863 deny ip from any to any

прошу указать на место ошибки.... :-o , чувствую что стена скоро сломается :st: :crazy:

gilas
мл. сержант
Сообщения: 85
Зарегистрирован: 2009-02-16 18:48:58

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение gilas » 2009-12-04 21:09:20

действуя по статье, при добавление этих правил дело не меняется:

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

${FwCMD} nat 1 config log if rl0 same_ports reset deny_in redirect_port tcp 192.168.1.12:80 9191
${FwCMD} add nat 1 ip from any to any via rl0

может проблема кроется в sysctl.conf ?

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

kern.polling.enable=1

net.inet.tcp.delayed_ack=0

net.inet.icmp.maskrepl=0
net.inet.ip.random_id=1
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.tcp.keepidle=14400
net.inet.tcp.keepintvl=150

net.inet.icmp.bmcastecho=0
net.inet.icmp.icmplim=50
kern.ipc.somaxconn=32768
net.link.ether.inet.max_age=1200
net.inet.icmp.maskrepl=0
net.inet.ip.sourceroute=0
net.inet.ip.accept_sourceroute=0
net.inet.icmp.bmcastecho=0
net.inet.tcp.msl=10000

security.bsd.see_other_uids=0
security.bsd.see_other_gids=0

net.local.stream.recvspace=65535
net.local.stream.sendspace=65535
net.inet.tcp.sendspace=131072
net.inet.tcp.recvspace=131072
net.inet.ip.fw.verbose_limit=10

security.jail.allow_raw_sockets=1
security.jail.enforce_statfs=2
security.jail.set_hostname_allowed=1
security.jail.chflags_allowed=1

для дополнения общей картины

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

ipfw nat show
nat 1: icmp=0, udp=0, tcp=1, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=1

gilas
мл. сержант
Сообщения: 85
Зарегистрирован: 2009-02-16 18:48:58

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение gilas » 2009-12-05 23:17:55

Форумчане, отзовитесь на помощь :Search: , похоже один я ядровой нат не поборю :(

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение terminus » 2009-12-06 0:36:32

Вот так попробуйте:

/etc/rc.conf

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

gateway_enable="YES"
firewall_enable="YES"
firewall_type="/etc/firewall"
/etc/sysctl.conf

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

net.inet.ip.fw.one_pass=1
/etc/firewall

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

nat 1 config ip 192.168.1.1 redirect_port tcp 192.168.1.2:10000 9191
nat 2 config ip 192.168.1.1
add nat 1 ip from 192.168.1.3 to 192.168.1.1 in
add nat 2 ip from 192.168.1.3 to 192.168.1.2 out
add nat 2 ip from 192.168.1.2 to 192.168.1.1 in
add nat 1 ip from 192.168.1.2 to 192.168.1.3 out
add allow all from any to any
192.168.1.1 - "эта машина"
192.168.1.2 - "другая машина"
192.168.1.3 - откуда инициализируется соединение

:unknown:

----

З.Ы.

У вас какая конечная цель? Вы хотите ИМЕННО чтобы трафик между двумя системами в одной сети ходил через третию систему в той же сети? Подобная схема - знатный изврат, вообще-то...
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

gilas
мл. сержант
Сообщения: 85
Зарегистрирован: 2009-02-16 18:48:58

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение gilas » 2009-12-06 13:34:49

У вас какая конечная цель? Вы хотите ИМЕННО чтобы трафик между двумя системами в одной сети ходил через третию систему в той же сети? Подобная схема - знатный изврат, вообще-то...
Изврат и еще какой! Моя цель на данном этапе - подготовить площадку в логическом смысле, пока провайдер выделяет статический адрес. По сути, сейчас я просто заранее настраиваю проброс портов (и не только) с внешей сети в локальную средствами ipfw+nat. По результатам вашего совета отпишусь, в любом случае спасибо вам

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение terminus » 2009-12-06 13:36:56

Если вы пробрасываете с внешней в локальную, то и тестировать надо в приближенных условиях - рутер с двумя сетевухами который в разных сетях, а иначе все с ног на голову становится... Тот пример что я више написал неприменим для случая рутера с двумя сетевухами.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

gilas
мл. сержант
Сообщения: 85
Зарегистрирован: 2009-02-16 18:48:58

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение gilas » 2009-12-06 14:00:53

/etc/rc.conf

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

gateway_enable="YES"
firewall_enable="YES"
firewall_type="/etc/firewall"
/etc/sysctl.conf

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

net.inet.ip.fw.one_pass=1
/etc/firewall

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

nat 1 config ip 192.168.1.1 redirect_port tcp 192.168.1.2:10000 9191
nat 2 config ip 192.168.1.1
add nat 1 ip from 192.168.1.3 to 192.168.1.1 in
add nat 2 ip from 192.168.1.3 to 192.168.1.2 out
add nat 2 ip from 192.168.1.2 to 192.168.1.1 in
add nat 1 ip from 192.168.1.2 to 192.168.1.3 out
add allow all from any to any

1. /etc/rc.conf

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

firewall_enable="YES"
firewall_logging="YES"
firewall_type="CUSTOM"
firewall_script="/etc/ipfw.sh"
firewall_quiet="YES"
ipfw_enable="YES"
gateway_enable="YES"

2. sysctl -a | grep net.inet.ip.fw.one_pass

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

net.inet.ip.fw.one_pass=1

3.

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

${FwCMD} nat 1 config ip ${192.168.1.1} redirect_port tcp ${192.168.1.2}:10000 9191
${FwCMD} nat 2 config ip ${192.168.1.1}
${FwCMD} add nat 1 ip from any to ${192.168.1.1} via ${LanIn}
${FwCMD} add nat 2 ip from any to ${192.168.1.1} via ${LanIn}
${FwCMD} add nat 2 ip from ${192.168.1.2} to ${192.168.1.1} via ${LanIn}
${FwCMD} add nat 1 ip from ${192.168.1.2} to any via ${LanIn}
Исполняю:
./ipfw.sh

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

ipfw: bad ip address ``redirect_port''
ipfw: missing option
ipfw: hostname ``via'' unknown
ipfw: hostname ``via'' unknown
ipfw: hostname ``via'' unknown

4. Пытаюсь повторить вашу рекоммендацию

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

${FwCMD} nat 1 config ip ${192.168.1.1} redirect_port tcp ${192.168.1.2}:10000 9191
${FwCMD} nat 2 config ip ${192.168.1.1}
${FwCMD} add nat 1 ip from ${192.168.1.3} to ${192.168.1.1} in
${FwCMD} add nat 2 ip from ${192.168.1.3} to ${192.168.1.1} out
${FwCMD} add nat 2 ip from ${192.168.1.2} to ${192.168.1.1} in
${FwCMD} add nat 1 ip from ${192.168.1.2} to ${192.168.1.3} out

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

ipfw: bad ip address ``redirect_port''
ipfw: missing option
ipfw: hostname ``in'' unknown
ipfw: hostname ``out'' unknown
ipfw: hostname ``in'' unknown

:-o

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение terminus » 2009-12-06 14:12:33

Не усложняйте пока. Сделайте как у меня в примере - запись в rc.conf про firewall_type="/etc/firewall" и сам файл /etc/firewall. Только IP там поменяйте на ваши (какой IP на вашем сервере с натом - 192.168.1.1 или другой?).

когда сделаете, выполните /etc/rc.d/ipfw restart
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

ivan__
сержант
Сообщения: 234
Зарегистрирован: 2009-08-11 15:48:32
Откуда: Питер

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение ivan__ » 2009-12-07 11:04:24

gilas писал(а):

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

ipfw show
00100  0     0 check-state
00200  0     0 allow ip from any to any via lo0
00300  0     0 deny ip from any to 127.0.0.0/8
00400  0     0 deny ip from 127.0.0.0/8 to any
00500  0     0 allow tcp from any to me dst-port 80 limit src-addr 30
00600  0     0 allow tcp from any to me dst-port 80 via rl1 setup limit src-addr 10
00700  0     0 reject tcp from any to any tcpflags syn,fin,ack,psh,rst,urg
00800  0     0 reject tcp from any to any tcpflags !syn,!fin,!ack,!psh,!rst,!urg
00900  0     0 reject tcp from any to any not established tcpflags fin
01000  0     0 reject log logamount 10 ip from any to any not verrevpath in
01100  0     0 deny icmp from any to any frag
01200  0     0 allow icmp from any to me icmptypes 0,8,11
01300  0     0 allow icmp from any to any via rl0
01400  0     0 allow icmp from any to xx.xx.xx.xx in via rl1 icmptypes 0,3,4,11,12
01500  0     0 allow icmp from xx.xx.xx.xx to any out via rl1 icmptypes 3,8,12
01600  0     0 allow icmp from xx.xx.xx.xx to any out via rl1 frag
01700 51 10328 allow tcp from any to any established
01800  0     0 allow udp from any 53 to me in via rl1
01900  0     0 allow udp from any 53 to me in via rl0
02000  0     0 allow tcp from any to any out via rl0
02100  0     0 allow udp from any to any out via rl0
02200  0     0 allow tcp from any to any out via rl1
02300  0     0 allow udp from any to any out via rl1
02400  0     0 allow tcp from any to any dst-port 10000 in via rl0
02500  0     0 allow tcp from any to any dst-port 10000 in via rl1
02600  0     0 allow tcp from any to any dst-port 10001 in via rl1
02700  0     0 allow tcp from 192.168.1.20 to any dst-port 80 in via rl0
02800  0     0 allow tcp from any to any dst-port 80 in via rl1
02900  0     0 allow tcp from 192.168.1.21 to any dst-port 80 in via rl0
03000  0     0 allow tcp from 192.168.1.20 to any dst-port 9898 in via rl0
03100  0     0 allow tcp from xx.xx.xx.xx to any dst-port 12500 in via rl1
03200  0     0 allow tcp from xx.xx.xx.xx to any dst-port 3389 in via rl1
03300  0     0 allow udp from any to any dst-port 123 via rl1
03400  0     0 allow tcp from any to any dst-port 9191 in via rl0
03500  1    68 deny log logamount 10 ip from any to any
65535 11   863 deny ip from any to any

прошу указать на место ошибки.... :-o , чувствую что стена скоро сломается :st: :crazy:
у тебя в самом начале весь трафик режется

gilas
мл. сержант
Сообщения: 85
Зарегистрирован: 2009-02-16 18:48:58

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение gilas » 2009-12-08 12:16:14

Максимально приблизил свои конфиги к совету выше, итог:

cat /etc/ipfw.sh

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

FwCMD="/sbin/ipfw -q"
LanIn="rl0"
LanOut="rl1"
IpIn="192.168.1.5"
IpOut="217.**.***.**"
NetMask="24"


local_mashine="192.168.1.12"

${FwCMD} -f flush
${FwCMD} -f pipe flush
${FwCMD} -f queue flush

${FwCMD} nat 1 config ip ${IpOut} redirect_port tcp ${local_mashine}:10000 9191
${FwCMD} nat 2 config ip ${IpOut}
${FwCMD} add nat 1 ip from any to ${IpOut} in
${FwCMD} add nat 2 ip from any to ${local_mashine} out
${FwCMD} add nat 2 ip from ${local_mashine} to ${IpOut} in
${FwCMD} add  nat 1 ip from ${local_mashine} to any out
${FwCMD} add allow all from any to any
sysctl

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

[root@test /usr/home]# sysctl -a | grep net.inet.ip.fw.one_pass
net.inet.ip.fw.one_pass: 1
Проверяю:

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

[root@test /var/log]# ipfw nat show
nat 1: icmp=0, udp=0, tcp=3, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=3
[root@test /var/log]# ipfw nat show config
ipfw nat 2 config ip 217.**.***.**
ipfw nat 1 config ip 217.**.***.** redirect_port tcp 192.168.1.12:10000 9191
ipfw nat 10 config redirect_port tcp 192.168.1.12:10000 9898
[root@test /var/log]#

Пробую телнет с другой машины:

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

[root@wow /etc]# telnet 217.**.***.** 9191
Trying 217.**.***.**...
telnet: connect to address 217.**.***.**: Operation timed out
telnet: Unable to connect to remote host

В это время на машине, где пытаюсь настраивать НАТ

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

[root@test /usr/home]# ipfw show
00100     2     108 nat 1 ip from any to 217.**.***.** in
00200     1      60 nat 2 ip from any to 192.168.1.12 out
00300     0       0 nat 2 ip from 192.168.1.12 to 217.**.***.** in
00400     0       0 nat 1 ip from 192.168.1.12 to any out
00500    15    1064 allow ip from any to any
65535 19601 1689506 deny ip from any to any
:st:

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение terminus » 2009-12-08 12:25:59

начальное условие было:
пока провожу эксперименты в локальной сети, т.е. обе машины в одной локалке
Это:

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

00300     0       0 nat 2 ip from 192.168.1.12 to 217.**.***.** in
не соответсвует начальному условию.

Поставьте задачу четче - что же надо сделать-то в итоге?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

gilas
мл. сержант
Сообщения: 85
Зарегистрирован: 2009-02-16 18:48:58

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение gilas » 2009-12-08 12:33:15

Рад что моя тема не забыта даже модераторами =)

Сейчас, как вы заметили я провожу тесты максимально приближенные к реальным условиям, т.е. на данном этапе я имею машину, с двумя сетевыми карточками, одна из которых подключенная в интернет и имеет статический адрес (считайте доступна из мира), вторая же подключена к локальной сети. Перерыв кучу методик и перебробовав все советы, я решил что такая конфигурация не будет отвлекать от процесса настройки (настройка проброса портов в из локалки в локалку окончательно меня запутала)

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение terminus » 2009-12-08 12:43:10

em0 - внешняя сетевуха
fxp0 - внутренняя сетевуха

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

ipfw add allow ip from any to any via lo0
ipfw add deny ip from any to 127.0.0.0/8
ipfw add deny ip from 127.0.0.0/8 to any

ipfw add allow ip from any to any via fxp0

ipfw add deny ip from any to 192.168.0.0/16 in recv em0
ipfw add deny ip from 192.168.0.0/16 to any in recv em0
ipfw add deny ip from any to 172.16.0.0/12 in recv em0
ipfw add deny ip from 172.16.0.0/12 to any in recv em0
ipfw add deny ip from any to 10.0.0.0/8 in recv em0
ipfw add deny ip from 10.0.0.0/8 to any in recv em0
ipfw add deny ip from any to 169.254.0.0/16 in recv em0
ipfw add deny ip from 169.254.0.0/16 to any in recv em0

ipfw nat 1 config log if em0 reset same_ports deny_in redirect_port tcp 192.168.1.12:10000 9898

ipfw add nat 1 ip from any to any via em0

ipfw add deny all from any to any
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

gilas
мл. сержант
Сообщения: 85
Зарегистрирован: 2009-02-16 18:48:58

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение gilas » 2009-12-08 12:52:34

Примечателен один момент. Решил проверить tcpdump-ом порт 9191 на машине, куда и хочу сделать проброс. На всякий случай, стучусь из другой сети, с другого провайдера


Начинаю проверку средствами "стуком" телнета с машины, которая находится в другом сегменте, висит на другом провайдере и т.д.

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

telnet 217.**.***.** 9191
Trying 217.**.***.**...

В это время на машине 192.168.1.12, которая находится в моей локалке, до порта которой собсно я и хочу попасть

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

[root@spice /etc]# tcpdump -i fxp0 -n port 10000 and not host 192.168.1.28
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on fxp0, link-type EN10MB (Ethernet), capture size 96 bytes
12:43:22.841201 IP 217.**.***.**.2488 > 192.168.1.12.10000: S 4052578223:4052578223(0) win 25200 <mss 1360,nop,nop,sackOK>
12:43:25.711537 IP 217.**.***.**.2488 > 192.168.1.12.10000: S 4052578223:4052578223(0) win 25200 <mss 1360,nop,nop,sackOK>
12:43:31.822966 IP 217.**.***.**.2488 > 192.168.1.12.10000: S 4052578223:4052578223(0) win 25200 <mss 1360,nop,nop,sackOK>
12:44:13.862250 IP 217.**.***.**.6064 > 192.168.1.12.10000: S 1752095058:1752095058(0) win 16384 <mss 1360,nop,nop,sackOK>

217.**.***.** - удивительно, но здесь стоит IP адрес машины, где собсно я и настраиваю НАТ

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение terminus » 2009-12-08 12:56:33

это уже с новым примером или все еще с тем, что был для систем которые находятся в одной IP сети?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

gilas
мл. сержант
Сообщения: 85
Зарегистрирован: 2009-02-16 18:48:58

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение gilas » 2009-12-08 13:01:34

Это уже с новым, танец с НАТ-ом (пробросом порта) из локалки в локалку считаю можно закончить

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

[root@test /usr/home]# ipfw show
00100     0       0 allow ip from any to any via lo0
00200     0       0 deny ip from any to 127.0.0.0/8
00300     0       0 deny ip from 127.0.0.0/8 to any
00400   114   15171 allow ip from any to any via rl0
00500     12    1167 deny ip from any to 192.168.0.0/16 in recv rl1
00600     1      68 deny ip from 192.168.0.0/16 to any in recv rl1
00700     0       0 deny ip from any to 172.16.0.0/12 in recv rl1
00800     0       0 deny ip from 172.16.0.0/12 to any in recv rl1
00900     0      0 deny ip from any to 10.0.0.0/8 in recv rl1
01000     0      0 deny ip from 10.0.0.0/8 to any in recv rl1
01100     0       0 deny ip from any to 169.254.0.0/16 in recv rl1
01200     0       0 deny ip from 169.254.0.0/16 to any in recv rl1
01300     3     180 nat 1 ip from any to any via rl1
01400     0       0 deny ip from any to any
65535 19617 1690931 deny ip from any to any
[root@test /usr/home]# ipfw nat show
nat 1: icmp=0, udp=0, tcp=4, pptp=0, proto=0, frag_id=0 frag_ptr=0 / tot=4
[root@test /usr/home]# ipfw nat show config
ipfw nat 1 config if rl1 log deny_in same_ports reset redirect_port tcp 192.168.1.12:10000 9898
ipfw nat 2 config ip 217.**.***.**
ipfw nat 10 config redirect_port tcp 192.168.1.12:10000 9898
[root@test /usr/home#]

Пробую с другой машины:

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

[root@spice codec]# telnet 217.**.***.** 9898
Trying 217.**.***.**...
telnet: connect to address 217.**.***.**: Connection timed out
telnet: Unable to connect to remote host: Connection timed out

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение terminus » 2009-12-08 13:48:36

перезапустите сервер - нат иногда тупит, а после перезагрузки работаете как надо.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

gilas
мл. сержант
Сообщения: 85
Зарегистрирован: 2009-02-16 18:48:58

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение gilas » 2009-12-08 13:54:26

Поставил скрипт, который вы мне посоветовали в автозагрузку, перезагрузил, проблема не исчезла. На всякий случай решил проверить доступность порта машины, на которую делается проброс - порт доступен для коннекта с любого адреса :-o

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение terminus » 2009-12-08 13:58:15

этот серер на котором нат настраеваете - он defaultgateway для машины 192.168.1.12?
она по умолчанию через него во внешнюю Сеть ходит или не через него?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

gilas
мл. сержант
Сообщения: 85
Зарегистрирован: 2009-02-16 18:48:58

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение gilas » 2009-12-08 14:05:50

sysctl.conf полон параметров, я решил очистить этот файл, оставляя только net.inet.ip.fw.one_pass=1 , перезагрузился, попробовал, результат тот же

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение terminus » 2009-12-08 14:07:40

на 192.168.1.12 какой Default Gateway?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

gilas
мл. сержант
Сообщения: 85
Зарегистрирован: 2009-02-16 18:48:58

Re: IPFW+NAT старые песни о главном

Непрочитанное сообщение gilas » 2009-12-08 14:15:14

terminus писал(а):на 192.168.1.12 какой Default Gateway?
На 192.168.1.12 стоит другой гейт...