FreeBSD 7.1 + redirect_port: грабли

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Fouriki
рядовой
Сообщения: 13
Зарегистрирован: 2010-07-05 8:03:23

FreeBSD 7.1 + redirect_port: грабли

Непрочитанное сообщение Fouriki » 2011-09-12 14:40:35

Доброго вечера!
Имеется роутер

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

FreeBSD juicer 7.1-RELEASE FreeBSD 7.1-RELEASE #0: Wed Apr 22 00:21:18 UTC 2009     four@juicer:/usr/src/sys/i386/compile/JUICERIX  i386
Он инетовский кормилец.
К нему подключена локалка

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

rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=8<VLAN_MTU>
        ether 00:80:48:3a:cd:4a
        inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
и другие подсети посредством гиф и гре туннелей:

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

gif0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1280
        tunnel inet 92.50.174.10 --> 81.30.214.86
        inet 172.16.1.1 --> 172.16.1.2 netmask 0xfffffffc
home: flags=9051<UP,POINTOPOINT,RUNNING,LINK0,MULTICAST> metric 0 mtu 1476
        tunnel inet 92.50.174.10 --> 10.164.132.29
        inet 192.168.255.101 --> 192.168.255.1 netmask 0xffffff00
krotish: flags=9051<UP,POINTOPOINT,RUNNING,LINK0,MULTICAST> metric 0 mtu 1476
        tunnel inet 92.50.174.10 --> 10.160.147.85
        inet 192.168.52.1 --> 192.168.52.101 netmask 0xffffff00
правила фаервола

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

00010    1754   3769910 allow ip from any to any via lo0
00060  512028 238233140 nat 1 ip from any to any via rl1
00100       2       168 allow ip from 192.168.5.0/24 to any
00105    5064    512065 allow ip from 192.168.10.0/24 to any
00110  568582 364891722 allow ip from 192.168.255.0/25 to any
00120      96     37901 allow ip from 192.168.51.0/24 to any
00125     444    178588 allow ip from 192.168.52.0/24 to any
00500  764069 412032162 allow ip from any to me
00500 1170372 531879417 allow ip from me to any
00700   62098  49869934 allow ip from 192.168.0.0/24 to 192.168.1.0/24
00700  110156  19812982 allow ip from 192.168.1.0/24 to 192.168.0.0/24
10000   67926  19037352 allow ip from 192.168.0.0/16 to table(1)
20999    9791   1836142 allow ip from 192.168.0.150 to not 192.168.0.0/16
29000    2953    330577 allow ip from table(2) to any
29500     168     10024 allow ip from table(3) to any dst-port 5190
30000   16676   2143125 fwd 192.168.0.1,3128 tcp from 192.168.0.198 to any dst-port 80
30001       0         0 fwd 192.168.0.1,3128 tcp from 192.168.0.198 to any dst-port 8080
65000 1016583 416452742 allow ip from any to 192.168.0.0/16
65535    5221    488112 deny ip from any to any
и по умолчанию наттинг выглядит так:

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

ipfw nat 1 config if rl1
.

Маршруты (основные):

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

default            92.50.174.9        UGS         3  1197029    rl1
10.8.0.1           10.66.46.1         UGHS        0        0    rl2
10.66.46.0/24      link#4             UC          0        0    rl2
92.50.174.8/30     link#3             UC          0        0    rl1
127.0.0.1          127.0.0.1          UH          0      742    lo0
172.16.1.2         172.16.1.1         UH          1        0   gif0
192.168.0.0/24     link#2             UC          0        0    rl0 =>
192.168.0.0/16     192.168.255.1      UGS         0     2755   home
192.168.1.0/24     172.16.1.2         UGS         0    33631   gif0
192.168.51.0/24    krotish            US          0      385 krotis
192.168.52.101     192.168.52.1       UH          0      521 krotis
192.168.255.1      192.168.255.101    UH          1   347938   home
Необходимо сделать проброс портов.

делаю

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

ipfw nat 1 config if rl1 redirect_port tcp 192.168.0.3:3389 3389
Работает. Делаю тоже самое, но в другую подсеть:

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

ipfw nat 1 config if rl1 redirect_port tcp 192.168.51.1:80 888
- не работает!
причем все пингуется в обе стороны и если открыть с роутера - откроется. Через проброс работать не хочет.
Где косяк и куда копать?
Последний раз редактировалось f_andrey 2011-09-12 15:17:40, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.

Хостинговая компания 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/

терминус_
проходил мимо

Re: FreeBSD 7.1 + redirect_port: грабли

Непрочитанное сообщение терминус_ » 2011-09-12 16:07:07

У 192.168.51.1 Default Gateway кто? Этот же самый 192.168.0.1 или кто-то другой?

Если кто-то другой, то 192.168.51.1 не знает как ответить оригинальному отправителю, и шлет ответ через свой GW

терминус_
проходил мимо

Re: FreeBSD 7.1 + redirect_port: грабли

Непрочитанное сообщение терминус_ » 2011-09-12 16:12:31

А, да - лечение.
http://www.lissyara.su/articles/freebsd ... #example_3
два ната, чтобы маскировать трафик под исзодяший от самого 192.168.0.1

Fouriki
рядовой
Сообщения: 13
Зарегистрирован: 2010-07-05 8:03:23

Re: FreeBSD 7.1 + redirect_port: грабли

Непрочитанное сообщение Fouriki » 2011-09-13 7:14:58

прошу прощения, не тот пример скопировал.

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

ipfw nat 1 config if rl1 redirect_port tcp 192.168.51.6:22 222 
должно было быть.
51.6 смотрит в инет через самый первый сервер через роутер krotish

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

# traceroute ya.ru
traceroute to ya.ru (87.250.250.3), 30 hops max, 60 byte packets
 1  192.168.51.225 (192.168.51.225)  0.575 ms  0.566 ms  0.558 ms
 2  192.168.52.1 (192.168.52.1)  1.978 ms  1.976 ms  1.969 ms
 3  10.192.103.1 (10.192.103.1)  3.733 ms  3.731 ms  3.724 ms
 4  cmir4.ufa.ufanet.ru (92.50.190.197)  8.129 ms  8.123 ms  8.113 ms
...skiped...
тут вторым хопом идет уже как раз тот самый роутер-кормилец

терминус_
проходил мимо

Re: FreeBSD 7.1 + redirect_port: грабли

Непрочитанное сообщение терминус_ » 2011-09-13 14:23:56

может быть из-за косяков ipfw nat - попробуйте убить экземпляп ната, а потом создать сново с нужными редиректами:

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

ipfw nat delete 1
ipwf nat 1 config if rl1 redirect_port tcp 192.168.51.6:22 222  redirect_port tcp 192.168.51.1:80 888
иногда это помогает найти пробоему :unknown: