FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Untergrundbahn
рядовой
Сообщения: 18
Зарегистрирован: 2008-12-02 16:01:35
Откуда: Донецк
Контактная информация:

FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение Untergrundbahn » 2008-12-02 17:15:14

Очень нужна Ваша помощь! Необходимо, чтобы машина с FreeBSD была видна при обращении к внешнему IP ADSL-модема

ADSL-модем D-Link 2540U, настроен в режиме роутера.
IP Модема: 192.168.1.1 Сеть: 192.168.1.0/24
Включен NAT, Firewall, DMZ 192.168.1.6, IP динамический, но зарегистрирован DynDNS: transmission.wephop.net

В сети машина FreeBSD 7 с одной сетевой платой, подключена непосредственно к модему
IP машины: 192.168.1.6, IPFW, NATD.
Нужно сделать, чтобы при обращении на transmission.wephop.net или непосредственно внешний IP, все запросы попадали на 192.168.1.6.
Интернет на машине работает, но нет доступа из вне.

Проблема в том, что запросы проходят, но не уходят ответы. Например, при пинге пакеты попадают на локальный IP, но при обращении telnet'om к ftp или ssh показывает таймауты, при обращении по локальному IP все работает.

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

# ping transmission.wephop.net
PING transmission.wephop.net (92.112.151.53): 56 data bytes
64 bytes from 192.168.1.6: icmp_seq=0 ttl=64 time=1.092 ms
64 bytes from 192.168.1.6: icmp_seq=1 ttl=64 time=0.959 ms
64 bytes from 192.168.1.6: icmp_seq=2 ttl=64 time=0.633 ms
64 bytes from 192.168.1.6: icmp_seq=3 ttl=64 time=0.932 ms
64 bytes from 192.168.1.6: icmp_seq=4 ttl=64 time=0.654 ms

--- true.mine.nu ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.633/0.854/1.092/0.180 ms
Пробовал поднимать NAT как в примере: http://forum.lissyara.su/viewtopic.php?f=8&t=570

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

#NAT For router my FREEBSD (Oleg)
${FwCMD} add divert natd ip from ${NetIn}/${NetMask}  to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}
Но мне не совсем понятно, какие значения необходимо использовать для переменных $IpOut и $LanOut (Вшеший IP и внешний интерфейс, если у меня один сетевой интерфейс rl0)

Если сформировать правила следующим образом:

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

${FwCMD} add divert natd ip from 192.168.1.0/24  to any out via rl0
${FwCMD} add divert natd ip from any to transmission.wephop.net in via rl0
Правила применяются, но это не помогает.

Дальше приложены резельтаты выполнения некоторых команд и содержимое конфигурационных файлов:

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

# cat /etc/rc.conf
...
# Enable ipfw and open it by default since we have PF
firewall_enable="YES"
firewall_type="open"
gateway_enabled="YES"

#NATD Section
natd_enable="YES"
natd_interface="rl0"
natd_flags="-m -u"
...

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

# ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
	options=8<VLAN_MTU>
	ether 00:15:58:6e:96:d9
	inet 192.168.1.6 netmask 0xffffff00 broadcast 192.168.1.255
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active
pfsync0: flags=0<> metric 0 mtu 1460
	syncpeer: 224.0.0.240 maxupd: 128
pflog0: flags=0<> metric 0 mtu 33204
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4 
	inet6 ::1 prefixlen 128 
	inet 127.0.0.1 netmask 0xff000000 

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

# netstat -rn
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.1.1        UGS         0     6968    rl0
127.0.0.1          127.0.0.1          UH          0       40    lo0
192.168.1.0/24     link#1             UC          0        0    rl0
192.168.1.1        00:1b:11:75:69:bb  UHLW        2      918    rl0   1185
192.168.1.3        00:19:21:36:33:89  UHLW        1       30    rl0    937
192.168.1.6        00:15:58:6e:96:d9  UHLW        1       48    lo0
192.168.1.255      ff:ff:ff:ff:ff:ff  UHLWb       1       85    rl0

Internet6:
Destination                       Gateway                       Flags      Netif Expire
::1                               ::1                           UHL         lo0
fe80::%lo0/64                     fe80::1%lo0                   U           lo0
fe80::1%lo0                       link#4                        UHL         lo0
ff01:4::/32                       fe80::1%lo0                   UC          lo0
ff02::%lo0/32                     fe80::1%lo0                   UC          lo0

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

# ipfw show
00100    0       0 check-state
00200    0       0 allow ip from any to any via lo0
00300    4     214 allow ip from any to any via rl0
00400    0       0 deny ip from any to 127.0.0.0/8
00500    0       0 deny ip from 127.0.0.0/8 to any
65535 4061 1480369 allow ip from any to any

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

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение paradox » 2008-12-02 17:35:22

${FwCMD} add divert natd ip from 192.168.1.0/24 to any out via rl0
${FwCMD} add divert natd ip from any to transmission.wephop.net in via rl0
достаточно одного
${FwCMD} add divert natd ip from any to any via rl0
ну и дальше не факт что у вас хост попадает под айпи
он же увас динамический

Аватара пользователя
Untergrundbahn
рядовой
Сообщения: 18
Зарегистрирован: 2008-12-02 16:01:35
Откуда: Донецк
Контактная информация:

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение Untergrundbahn » 2008-12-02 18:09:43

paradox писал(а):
${FwCMD} add divert natd ip from 192.168.1.0/24 to any out via rl0
${FwCMD} add divert natd ip from any to transmission.wephop.net in via rl0
достаточно одного
${FwCMD} add divert natd ip from any to any via rl0
ну и дальше не факт что у вас хост попадает под айпи
он же увас динамический
Потом может и не попасть под айпи, но сейчас я его явно задаю. Почему-то не работают эти правила у меня, чего-то не хватает. Пакеты приходят на локальный айпи, но не уходят обратно.

Вот что говорит Iptables модема, может это о чем-то скажет:

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

BusyBox v1.00 (2005.04.12-18:11+0000) Built-in shell (msh)
Enter 'help' for a list of built-in commands.             

# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
LOG        tcp  --  0.0.0.0/0            0.0.0.0/0           tcp flags:0x16/0x02 limit: avg 6/hour burst 5 LOG flags 0 level 1 prefix `Intrusion -> '
DROP       all  --  0.0.0.0/0            0.0.0.0/0

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            192.168.1.6       #Это поидее, и есть DMZ
DROP       all  --  0.0.0.0/0            239.255.255.250
DROP       all  --  0.0.0.0/0            224.0.0.22
TCPMSS     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x02 TCPMSS clamp to PMTU
TCPMSS     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x02 TCPMSS clamp to PMTU
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
LOG        tcp  --  0.0.0.0/0            0.0.0.0/0           tcp flags:0x16/0x02 limit: avg 6/hour burst 5 LOG flags 0 level 1 prefix `Intrusion -> '
DROP       all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DROP       all  --  0.0.0.0/0            239.255.255.250
Маршруты модема:

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

# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
195.5.5.200     0.0.0.0         255.255.255.255 UH        0 0          0 ppp_1_32_1
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 br0
0.0.0.0         195.5.5.200     0.0.0.0         UG        0 0          0 ppp_1_32_1
Может что-то еще в модеме добавить...? :st:

Аватара пользователя
Untergrundbahn
рядовой
Сообщения: 18
Зарегистрирован: 2008-12-02 16:01:35
Откуда: Донецк
Контактная информация:

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение Untergrundbahn » 2008-12-02 18:13:30

Если нужна какая-то дополнительная информация по конфигурации системы, могу выложить резульаты выполнения команд, логи и т.д.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение paradox » 2008-12-02 18:13:51

iptables на модеме?!
срочно меняйте модем!!!

Аватара пользователя
Untergrundbahn
рядовой
Сообщения: 18
Зарегистрирован: 2008-12-02 16:01:35
Откуда: Донецк
Контактная информация:

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение Untergrundbahn » 2008-12-02 18:23:54

paradox писал(а):iptables на модеме?!
срочно меняйте модем!!!
Насколько я знаю, большинство прошивок недорогих АДСЛ-модемов основаны на BusyBox 'e, по-крайней мере у D-Link'a.
Если есть функции NAT, DMZ, Firewall, IP Filter и т.д. все это реализовно посредством Iptables. Если нет необходимости использования данных функций, то iptables можно отключить, либо вообще не включать в сборку прошивки, правда, как он будет без них работать не ясно.
Пока что нет возможности использовать что-то лучше. Погодя, возможно, поменяем. :smile:

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение paradox » 2008-12-02 18:28:45

включаешь на модеме pppoe
и дальше всем рулишь на бсд

зы
неиспользуйте линуксы! в нем простые вещи сделаны сложно!

Аватара пользователя
Untergrundbahn
рядовой
Сообщения: 18
Зарегистрирован: 2008-12-02 16:01:35
Откуда: Донецк
Контактная информация:

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение Untergrundbahn » 2008-12-02 19:18:20

paradox писал(а):включаешь на модеме pppoe
и дальше всем рулишь на бсд
Всмысле перевести модем в режим моста? Но это немного другой вопрос, очень хотелось бы разобраться в сложившейся ситуации, никак не могу найти причину такого поведения системы... :cz2:
зы
неиспользуйте линуксы! в нем простые вещи сделаны сложно!
Интересно, а можно в прошивку модема, вместо BusyBox впихнуть NetBSD, например? Думаю, можно, но как это сделать... :-D

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение paradox » 2008-12-02 19:26:23

да в режим моста
почему другое?
зато всем будете рулить вы а не ваш модем


нет нетбсд неззя
но если вы это реализуете вам многие скажут спасибо!))

Аватара пользователя
Untergrundbahn
рядовой
Сообщения: 18
Зарегистрирован: 2008-12-02 16:01:35
Откуда: Донецк
Контактная информация:

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение Untergrundbahn » 2008-12-02 21:18:46

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

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

route add -p 192.168.1.2 mask 255.255.255.255 192.168.1.1 metric 1 if 0x10003
где:
-p - постоянный маршрут, чтобы правило жило после ребута
192.168.1.2 - локальный айпи, также прописан в DMZ модема
192.168.1.1 - адрес модема, шлюза.
1 - метрика
0х10003 - сетевой интерфейс

Но работает, почему не могу заставить фряху...? :st:
P.S. Прошу прощения за пример в мастдае :cf:

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение paradox » 2008-12-02 21:23:22

на бсд смысл этого роута нету
поскольку у тебя на бсд и так дефолт смотрим в модем.....

на самом сервере интеренет есть?

Аватара пользователя
Untergrundbahn
рядовой
Сообщения: 18
Зарегистрирован: 2008-12-02 16:01:35
Откуда: Донецк
Контактная информация:

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение Untergrundbahn » 2008-12-02 21:34:08

paradox писал(а):на бсд смысл этого роута нету
поскольку у тебя на бсд и так дефолт смотрим в модем.....

на самом сервере интеренет есть?
Да, интернет есть, выше я выкладывал свою таблицу роутинга...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение paradox » 2008-12-02 21:40:32

уже хорошо
уточни тогда что не работает

Аватара пользователя
Untergrundbahn
рядовой
Сообщения: 18
Зарегистрирован: 2008-12-02 16:01:35
Откуда: Донецк
Контактная информация:

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение Untergrundbahn » 2008-12-02 21:42:41

paradox писал(а):уже хорошо
уточни тогда что не работает
Сервер не отвечает на внешние запросы, но похоже они проходят, только назад не уходят...
Выше есть результат пинга...

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение paradox » 2008-12-02 21:47:17

убей весь фаер на бсд
и поставь токо один пасс фром ени ту ени
и пока бсд ненаучиться отвечать на запросы из вне
крути сам модем

лучше если через веб интерфейс

хотя нифига непонимаю кто мешает сделать его бриджом
и нормально все на бсд разрулить

Аватара пользователя
iZEN
ст. лейтенант
Сообщения: 1089
Зарегистрирован: 2007-09-15 16:45:26
Контактная информация:

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение iZEN » 2008-12-02 21:56:03

Untergrundbahn писал(а):Очень нужна Ваша помощь! Необходимо, чтобы машина с FreeBSD была видна при обращении к внешнему IP ADSL-модема

ADSL-модем D-Link 2540U, настроен в режиме роутера.
IP Модема: 192.168.1.1 Сеть: 192.168.1.0/24
Включен NAT, Firewall, DMZ 192.168.1.6, IP динамический, но зарегистрирован DynDNS: transmission.wephop.net

В сети машина FreeBSD 7 с одной сетевой платой, подключена непосредственно к модему
IP машины: 192.168.1.6, IPFW, NATD.
Нужно сделать, чтобы при обращении на transmission.wephop.net или непосредственно внешний IP, все запросы попадали на 192.168.1.6.
Интернет на машине работает, но нет доступа из вне.
Это легко делается в настройках модема. На странице "DMZ" модема указываете IP-адрес сетевой карты машины (192.168.1.6), который должен быть открыт извне. И все пакеты, которые будут приходить на модем из Интернета, автоматически попадут на этот интерфейс.
GNU/Linux — это не Unix и даже никогда им не был, и, что самое смешное, никогда им не станет — GNU's Not Unix

Аватара пользователя
Untergrundbahn
рядовой
Сообщения: 18
Зарегистрирован: 2008-12-02 16:01:35
Откуда: Донецк
Контактная информация:

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение Untergrundbahn » 2008-12-02 21:57:05

paradox писал(а):убей весь фаер на бсд
и поставь токо один пасс фром ени ту ени
и пока бсд ненаучиться отвечать на запросы из вне
крути сам модем

лучше если через веб интерфейс

хотя нифига непонимаю кто мешает сделать его бриджом
и нормально все на бсд разрулить
Спасибо огромное за помощь !!! Сейчас отрублю фаервол, еще немного помучаюсь с модемом, а похоже, что все дороги ведут к мосту :smile:

Аватара пользователя
Untergrundbahn
рядовой
Сообщения: 18
Зарегистрирован: 2008-12-02 16:01:35
Откуда: Донецк
Контактная информация:

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение Untergrundbahn » 2008-12-02 22:10:53

iZEN писал(а):Это легко делается в настройках модема. На странице "DMZ" модема указываете IP-адрес сетевой карты машины (192.168.1.6), который должен быть открыт извне. И все пакеты, которые будут приходить на модем из Интернета, автоматически попадут на этот интерфейс.
DMZ хост прописан, такое поведение уже с прописаным адресом, я в заголовке описал текущую ситуацию...

Аватара пользователя
iZEN
ст. лейтенант
Сообщения: 1089
Зарегистрирован: 2007-09-15 16:45:26
Контактная информация:

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение iZEN » 2008-12-03 10:48:30

Untergrundbahn писал(а):
iZEN писал(а):Это легко делается в настройках модема. На странице "DMZ" модема указываете IP-адрес сетевой карты машины (192.168.1.6), который должен быть открыт извне. И все пакеты, которые будут приходить на модем из Интернета, автоматически попадут на этот интерфейс.
DMZ хост прописан, такое поведение уже с прописаным адресом, я в заголовке описал текущую ситуацию...
Тогда дело в настройках FreeBSD, а не в модеме.
GNU/Linux — это не Unix и даже никогда им не был, и, что самое смешное, никогда им не станет — GNU's Not Unix

Аватара пользователя
Untergrundbahn
рядовой
Сообщения: 18
Зарегистрирован: 2008-12-02 16:01:35
Откуда: Донецк
Контактная информация:

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение Untergrundbahn » 2008-12-07 5:30:38

iZEN писал(а):Тогда дело в настройках FreeBSD, а не в модеме.
Наверняка, есть возможность разобраться, где именно проблема в настройках FreeBSD, но у меня получилось решить проблему именно посредством небольшого изменения правил iptables модема, хотя недостатки налицо. Теперь пакеты проходят, все работает, но система не знает внешних адресов, с которых выполняется подлкючение, т.к. модем маскарадит их.
Сначала правило маскарадинга в модеме было таким:

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

Chain POSTROUTING (policy ACCEPT 103 packets, 8027 bytes)
 pkts bytes target     prot opt in     out     source               destination                                                                                 
  443 30691 MASQUERADE  all  --  any    ppp_1_32_1  192.168.1.0/24       anywherе
Похоже, это правило модем создает автоматически посредством следующей команды:

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

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp_1_32_1 -j MASQUERADE
Если маскарадинг задать следующим правилом:

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

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
Это выглядит так:

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

Chain POSTROUTING (policy ACCEPT 144 packets, 10476 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 MASQUERADE  all  --  any    any     192.168.1.0/24       anywhere
Можно вместо этого правила применить следующее, но нужно знать внешний айпи, что не очень удобно:

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

iptables -t nat -A POSTROUTING -s 192.168.1.6 -j SNAT --to-source 92.112.139.175
И все ходит в обе стороны нормально наш DMZ хост виден снаружи, но пинги отличаются, если при автоматически созданом правиле пинг с локальной машины следующий:

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

# ping transmission.wephop.net
PING transmission.wephop.net (92.112.139.175): 56 data bytes
64 bytes from 192.168.1.6: icmp_seq=0 ttl=64 time=1.092 ms
64 bytes from 192.168.1.6: icmp_seq=1 ttl=64 time=0.959 ms
--- transmission.wephop.net ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
, но машине не видна,

то при измененном правиле маскарадинга пинг такой:

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

 ping transmission.wephop.net
PING transmission.wephop.net (92.112.139.175): 56 data bytes
64 bytes from 92.112.139.175: icmp_seq=0 ttl=63 time=1.416 ms
64 bytes from 92.112.139.175: icmp_seq=1 ttl=63 time=1.259 ms
--- true.mine.nu ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
и все ходит, только все входящие подключения приходят с внешнего айпи модема, а это большой минус.

Iptables на модеме настроен следующим образом:

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

# iptables -L -v
Chain INPUT (policy ACCEPT 1439 packets, 120K bytes)
 pkts bytes target     prot opt in     out     source               destination      #Пусто

Chain FORWARD (policy ACCEPT 1463 packets, 167K bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  br0    any     anywhere             239.255.255.250   #следующие два правила
    0     0 DROP       all  --  br0    any     anywhere             224.0.0.22           #создает Firewall модема
 1438  517K ACCEPT     all  --  ppp_1_32_1 any     anywhere             192.168.1.6 #задан DMZ хост
   76  4424 TCPMSS     tcp  --  any    ppp_1_32_1  anywhere             anywhere            tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU 
    0     0 TCPMSS     tcp  --  ppp_1_32_1 any     anywhere             anywhere            tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU

Chain OUTPUT (policy ACCEPT 1038 packets, 96187 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       all  --  any    ppp_1_32_1  anywhere             239.255.255.250    #firewall

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

# iptables -L -v -t nat
Chain PREROUTING (policy ACCEPT 182 packets, 13661 bytes)
 pkts bytes target     prot opt in     out     source               destination
  361 25221 DNAT       udp  --  br0    any     anywhere             192.168.1.1         udp dpt:domain to:195.5.46.12       #Натятся DNS запросы из локальной сети
  298 21797 DNAT       all  --  any    any     anywhere             92.112.139.175      to:192.168.1.6     #NAT с внешнего IP на DMZ хост

Chain POSTROUTING (policy ACCEPT 291 packets, 21168 bytes)
 pkts bytes target     prot opt in     out     source               destination
   32  2016 MASQUERADE  all  --  any    any     192.168.1.0/24       anywhere      #Маскарадинг уже видоизменен, с ним машина видна снаружи

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
Сетевые интерфейсы модема:

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

# ifconfig
br0             Link encap:Ethernet  HWaddr 00:1B:11:75:69:BB
                inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
                UP BROADCAST RUNNING ALLMULTI MULTICAST  MTU:1492  Metric:1
                RX packets:2966 errors:0 dropped:0 overruns:0 frame:0
                TX packets:2596 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:0
                RX bytes:256448 (250.4 KiB)  TX bytes:662641 (647.1 KiB)

ppp_1_32_1      Link encap:Point-Point Protocol
                inet addr:92.112.139.175  P-t-P:195.5.5.200  Mask:255.255.255.255
                UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
                RX packets:1596 errors:0 dropped:0 overruns:0 frame:0
                TX packets:1550 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:3
                RX bytes:548906 (536.0 KiB)  TX bytes:171685 (167.6 KiB)
Может кто подскажет, как можно решить эту проблему при помощи правил iptables модема таким образом, чтобы не маскарадить айпи входящих клиентов?

Аватара пользователя
Untergrundbahn
рядовой
Сообщения: 18
Зарегистрирован: 2008-12-02 16:01:35
Откуда: Донецк
Контактная информация:

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение Untergrundbahn » 2008-12-07 5:33:30

Возможно данный недостаток маскардинга модема можно решить при помощи NATа на фре, не мучая iptables ?

Аватара пользователя
Untergrundbahn
рядовой
Сообщения: 18
Зарегистрирован: 2008-12-02 16:01:35
Откуда: Донецк
Контактная информация:

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение Untergrundbahn » 2008-12-07 5:48:17

paradox писал(а):убей весь фаер на бсд
и поставь токо один пасс фром ени ту ени
и пока бсд ненаучиться отвечать на запросы из вне
крути сам модем

лучше если через веб интерфейс

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

Аватара пользователя
Untergrundbahn
рядовой
Сообщения: 18
Зарегистрирован: 2008-12-02 16:01:35
Откуда: Донецк
Контактная информация:

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение Untergrundbahn » 2008-12-08 1:37:13

Решено
На модеме через телнет:
1.

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

iptables -t nat -D POSTROUTING -s 192.168.1.0/24 -o ppp_1_32_1 -j MASQUERADE
- удаляем стандартное правило маскарадинга
2.

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

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
- создаем на замену старому
А со стороны оси не нужно производить никаких манипуляций (кроме настройки фаервола для безопасности, конечно), теперь все пакеты нормально приходят на DMZ хост, либо Virtual Servers (проброс портов во внутрь сети на модеме), и также беспрепятственно уходят.

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

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение paradox » 2008-12-08 2:12:07

вот и спрашиваеться)
накой черт там нужен линух
когда модем в бридж
и никаких трехетажных фаерволов ненадо..

Аватара пользователя
Untergrundbahn
рядовой
Сообщения: 18
Зарегистрирован: 2008-12-02 16:01:35
Откуда: Донецк
Контактная информация:

Re: FreeBSD 7 наружу через ADSL модем D-Link_2540U роутер

Непрочитанное сообщение Untergrundbahn » 2008-12-08 3:52:14

Простейший скрипт для автоматическо редактирования правил маскарадинга модема по телнету, для данного примера:

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

(sleep 1 ; echo "login" ; sleep 1 ; echo "password" ; sleep 3 ; echo "iptables -t nat -D POSTROUTING -s 192.168.1.0/24 -o ppp_1_32_1 -j MASQUERADE" ; sleep 1 ; echo "iptables -t nat -D POSTROUTING -s 192.168.1.0/24 -j MASQUERADE" ; sleep 1 ; echo "iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE" ; sleep 1) | telnet  192.168.1.1
login - заменить на логин для авторизации на модеме,
password - заменить на пароль,
telnet 192.168.1.1 - заменить на telnet "айпи модема",
192.168.1.0/24 - заменить на свою подсеть,
ppp_1_32_1 - при необходимости заменить на внешний интерфейс модема, если другие параметры VPI/VCI провайдера, может отличаться имя интерфейса.
Скрипт сначала удаляет правило по умолчанию, далее пробует удалить подкорректированное правило, если оно уже было создано (т.е. скрипт выполняется не впервый раз после загрузки модема), чтобы не создавались дубли, а потом создает нужное правило.
Основа скрипта взята отсюда: http://forum.lissyara.su/viewtopic.php?f=32&t=8442