BSDPORTAL.RU

На этом сайте обсуждаются вопросы использования ОС FreeBSD
 Портал  •  Статьи  •  Форум  •  Wiki  •  Поиск  •  FAQ  •  Обои  •   Официальная документация  •  Новые темы 

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: natd port forwarding
СообщениеДобавлено: Чт 03 окт, 2019 2:50 pm 
Не в сети

Зарегистрирован: Чт 03 окт, 2019 2:20 pm
Сообщения: 5
Здравствуйте!
Пытаюсь настроить port forwarding самым простым способом, через natd, но не могу понять почему ничего не работает, помогите найти ошибку.
Для начала хотелось бы пробросить порт 3389 на локальную виндовую тачку 192.168.20.10, чтобы попадать на нее извне по RDP.
Имеется: роутер на FreeBSD 12.0 с двумя интерфейсами, igb0 и igb1, подключение к инету через pppoe на igb0, провайдер по DHCP отдает фиксированный внешний айпи, при подключении поднимается интерфейс tun0 следующего вида:
Код:
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
   options=80000<LINKSTATE>
   inet 91.122.x.x --> 91.122.y.y netmask 0xffffffff
   groups: tun
   nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
   Opened by PID 1149

91.122.x.x - мой фиксированный внешний IP.
Локальная сеть - на igb1, интернет из локалки работает.
Ядро пересобрано со следующими опциями:
Код:
# IPFW
options         IPFIREWALL
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=30
options         LIBALIAS
options         IPFIREWALL_DEFAULT_TO_ACCEPT   # optional, won't let you lock out
options         IPDIVERT

# PPPoE
options         NETGRAPH
option          NETGRAPH_PPPOE
options         NETGRAPH_SOCKET


Конфиг:
Код:
root@beastiebox:/etc # cat rc.conf
hostname="beastiebox"
gateway_enable="YES"
ifconfig_igb0="DHCP"
ifconfig_igb1="inet 192.168.20.1 netmask 255.255.255.0"
mpd_flags="-b"
mpd_enable="YES"
sshd_enable="YES"

#NAT
natd_enable="YES"
natd_interface="igb0"
natd_flags="-f /etc/natd.conf"

#DHCP
dhcpd_enable="YES"
dhcpd_flag="-q"
dhcpd_conf="/usr/local/etc/dhcpd.conf"
dhcpd_ifaces="igb1"
dhcpd_withumask="022"
dhcpd_chuser_enable="YES"
dhcpd_withuser="dhcpd"
dhcpd_withgroup="dhcpd"
dhcpd_chroot_enable="YES"
dhcpd_devfs_enable="YES"
dhcpd_rootdir="/var/db/dhcpd"

#Firewall
firewall_enable="YES"
firewall_type="simple"
firewall_script="/etc/ipfw.rules"
firewall_logging="YES"
firewall_script="YES"

Код:
root@beastiebox:/etc # cat natd.conf
same_ports yes
use_sockets yes
#unregistered_only yes
redirect_port tcp 192.168.20.10:3389 3389
redirect_port udp 192.168.20.10:3389 3389

Фаерволл пока прозрачный:
Код:
root@beastiebox:/etc # ipfw list
65535 allow ip from any to any
root@beastiebox:/etc #


Any ideas?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: natd port forwarding
СообщениеДобавлено: Чт 03 окт, 2019 6:50 pm 
Не в сети
Модератор
Аватара пользователя

Зарегистрирован: Ср 08 ноя, 2006 2:53 pm
Сообщения: 5459
Откуда: СССР, Харьков
Почитайте /etc/rc.firewall
насчёт firewall_type="simple"
В вашем случаё для начала firewall_type="OPEN"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: natd port forwarding
СообщениеДобавлено: Чт 03 окт, 2019 10:51 pm 
Не в сети

Зарегистрирован: Чт 03 окт, 2019 2:20 pm
Сообщения: 5
ankor писал(а):
Почитайте /etc/rc.firewall
насчёт firewall_type="simple"
В вашем случаё для начала firewall_type="OPEN"

Попробовал сделать firewall_type="OPEN" - не помогло.
Также попробовал сделать firewall_enable="NO", тоже no luck.
Еще попробовал закомментить весь раздел #Firewall в моем rc.conf.
И пробовал стопнуть нат и запустить его вручную с нужными параметрами переадресации портов:
Код:
root@beastiebox:/etc # rc.d/natd stop
Stopping natd.
Waiting for PIDS: 1311.
root@beastiebox:/etc # natd -n igb0 -redirect_port tcp 192.168.20.10:3389 3389
root@beastiebox:/etc # ps ax | grep natd
1352  -  Is     0:00.00 natd -n igb0 -redirect_port tcp 192.168.20.10:3389 3389


К сожалению, РДП на тачку из локалки так и не проходит (при подключении через другой роутер - работает)...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: natd port forwarding
СообщениеДобавлено: Пт 04 окт, 2019 4:28 pm 
Не в сети

Зарегистрирован: Чт 03 окт, 2019 2:20 pm
Сообщения: 5
Не могу понять что именно блочит правила natd redirect_port, если ipfw должен пропускать ip from any to any.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: natd port forwarding
СообщениеДобавлено: Пт 04 окт, 2019 8:38 pm 
Не в сети
Модератор
Аватара пользователя

Зарегистрирован: Ср 08 ноя, 2006 2:53 pm
Сообщения: 5459
Откуда: СССР, Харьков
guahos писал(а):
Не могу понять что именно блочит правила natd redirect_port, если ipfw должен пропускать ip from any to any.

ipfw show чего показывает?
Посмотреть фаервол на Вендовой тачке.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: natd port forwarding
СообщениеДобавлено: Вс 06 окт, 2019 1:32 pm 
Не в сети

Зарегистрирован: Ср 14 окт, 2009 2:26 pm
Сообщения: 591
guahos писал(а):
Не могу понять что именно блочит правила natd redirect_port, если ipfw должен пропускать ip from any to any.

Как только найдёте в выхлопе `ipfw show` для firewall_type="OPEN" хоть что-нибудь, относящееся к natd, так сразу и поймёте.
Разобраться с firewall_type="SIMPLE" Вам уже советовали (заодно и с kernel nat; natd сейчас интересен только читателям окаменевших хаутушек про самосборные ядра).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: natd port forwarding
СообщениеДобавлено: Пн 07 окт, 2019 1:51 pm 
Не в сети

Зарегистрирован: Чт 03 окт, 2019 2:20 pm
Сообщения: 5
Всем спасибо за помощь, с проблемой разобрался.
Попытался убить natd , чтобы перезапустить его с некоторыми тестовыми ключами и к своему удивлению случайно обнаружил что доступ в интернет у локальных тачек после этого не пропал! Начал разбираться в чем дело и понял что у меня все это время работал ppp NAT.
Убрал строчку с NATом из /etc/ppp/ppp.conf, но это не все что пришлось сделать.
Пришлось еще в rc.conf изменить natd_interface="igb0" на natd_interface="tun0" (с физического интерфейса, в который приходит провайдерский кабель - на логический интерфейс tun0, который поднимается при подключении ppp).
Также пришлось настроить divert правило для ipfw следующего вида:
Код:
ipfw add divert natd from any to any via tun0

После этого все заработало - и NAT, и проброс портов.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: natd port forwarding
СообщениеДобавлено: Пн 07 окт, 2019 1:55 pm 
Не в сети

Зарегистрирован: Чт 03 окт, 2019 2:20 pm
Сообщения: 5
xemul писал(а):
natd сейчас интересен только читателям окаменевших хаутушек про самосборные ядра

Не только, мне было очень интересно разобраться с этиим в чисто образовательных целях.
Теперь буду пытаться настроить все без natd, через kernel NAT.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: natd port forwarding
СообщениеДобавлено: Пн 07 окт, 2019 2:21 pm 
Не в сети

Зарегистрирован: Ср 14 окт, 2009 2:26 pm
Сообщения: 591
Рад, что с этим вопросом Вы разобрались самостоятельно. (было лениво искать по конфе ветки, в которых оно обсуждалось в дцатый раз)
Если вдруг будете писать что-то сложносочинённое для ipfw, учтите, что прохождение пакетов с natd и с kernel nat отличается.
Если вернёте GENERIC, сэкономите себе чуть времени впоследствии. (сейчас в подавляющем большинстве случаев достаточно подключить недостающий модуль к ядру без пересборки)
И точно также с программами - ставьте пакетами. Самый заметный эффект от самостоятельной сборки порта с дефолтными опциями - расход электричества. Пожалейте девочку Грету.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Яндекс.Метрика