Война с пробросом порта продолжается!!!

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
immortal
мл. сержант
Сообщения: 110
Зарегистрирован: 2011-11-10 6:11:34

Война с пробросом порта продолжается!!!

Непрочитанное сообщение immortal » 2011-12-19 5:56:18

Всем привет!!
Я уже поднимал тему про проброс портов, но опрометчиво закрыл ее, думал разобрался...
Задача стандартная: Нужно пробросить порт (для примера хотяб 3389) на машину локальной сети. Проброс нужно освоить через NAТ. Но вот каким именно запутался окончательно!!!! Такая каша в голове!
Ребят помогите распутаться плиз и выбрать что то одно.
Вобщем пробовал почти все:) :
natd - настраивал по мануалам (оч много читал по настройкам). Рыл тырнет, форумы, статьи Лиса. Не получилось... Вроде все поднимается, но по tcpdump пакеты идут в одну сторону и все (Вне зависимости правил в фаере)
ipnat - Тоже самое, не получилось и пакеты также только в одну сторону.
Ядерный nat - Получилось:) Проброс работает, но с другими правилами в фаере полный сумбур. В зависимости расположений правил (ниже или выше nat'a) не работет либо сам проброс, либо на сервисы на фре (типа ftp и т.д.) зайти нельзя!!
Конкретно для меня хотелось бы юзать natd (конфиг отдельный от фаера и правила вроде интуитивно понятные). И хотелось бы начать разбор полета с него.

P.S возможно не понимаю сам меанизм работы nat'a и фаера. Но в голове реально щас каша, а время поджимает. Можно пожалуйста по порядку начать?? и не ругайте сильно плиз нуба пока во freebsd
FreeBSD 8.2
Если нужны какие конфы, пишите буду выкладывать.

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

Аватара пользователя
sadchok
сержант
Сообщения: 271
Зарегистрирован: 2011-10-13 10:40:54
Откуда: Алтайский край

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение sadchok » 2011-12-19 7:16:38

Для начала уберите из конфига фаера nat 2
The brain can not be found. Runs the software emulation

immortal
мл. сержант
Сообщения: 110
Зарегистрирован: 2011-11-10 6:11:34

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение immortal » 2011-12-19 7:23:43

sadchok писал(а):Для начала уберите из конфига фаера nat 2
Убрал уже давно ;-) Тогда просто не работает редирект порта... Попутный вопрос:
Есть смысл попробовать PF?? (надеюсь голова не взорвется)... Или все-таки допинывать то что начал?
(Честно говоря уже по ходу из крайности в крайность кидаюсь :( )

Аватара пользователя
sadchok
сержант
Сообщения: 271
Зарегистрирован: 2011-10-13 10:40:54
Откуда: Алтайский край

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение sadchok » 2011-12-19 7:40:04

immortal писал(а): Попутный вопрос:
Есть смысл попробовать PF?? (надеюсь голова не взорвется)... Или все-таки допинывать то что начал?
(Честно говоря уже по ходу из крайности в крайность кидаюсь :( )
С PF не работал, потому помочь не могу.
А по поводу IPFW, давайте конфиг и вывод ipfw show.
Ну и все таки есть смысл начать от простого к сложному,

Думаю вам больше подойдет пример 1.
Сделайте резервную копию своего конфига.
Возьмите конфиг из примера.(поменяв интерфейсы и адреса на свои)
Если заработало.
Постепенно добавляйте в него остальное.
The brain can not be found. Runs the software emulation

immortal
мл. сержант
Сообщения: 110
Зарегистрирован: 2011-11-10 6:11:34

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение immortal » 2011-12-19 8:01:57

sadchok Как я понял Вы меня толкаете на ядерный nat?? С него по порядку начнем? Кидаю тады его настройки?

immortal
мл. сержант
Сообщения: 110
Зарегистрирован: 2011-11-10 6:11:34

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение immortal » 2011-12-19 8:38:25

Начну с конфигов...
/etc/rc.conf:

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

## Net Settings ##
gateway_enable="YES"
hostname="proxy.domain.ru"
ifconfig_re0="inet 192.168.1.222 netmask 255.255.255.0"
ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="bwc"
firewall_enable="YES"
firewall_script="/etc/list.ipfw"
firewall_logging="YES"
tcp_extensions="NO"
tcp_drop_synfin="YES"
icmp_drop_redirect="YES"
icmp_log_redirect="YES"
/etc/sysctl.conf

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

net.inet.ip.fw.one_pass: 1
/etc/list.ipfw:

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

FwCMD="/sbin/ipfw -q  "
LanOut="tun0"                           #Интерфейс созданный подключением PPPoE
LanIn="re0"                               #Интерфейс смотрящий в лок сеть
IpOut="81.18.81.18"               #Внешний стат IP 
IpIn="192.168.1.222"                 #Внутренний IP фри
NetMask="24"
NetIn="192.168.1.0"

${FwCMD} -f flush

#loopback
        ${FwCMD} 100 add allow all from any to any via lo0
        ${FwCMD} 101 add deny all from any to 127.0.0.0/8
        ${FwCMD} 102 add deny all from 127.0.0.0/8 to any

#       ${FwCMD} 110 add check-state




## SSH
        ${FwCMD} 120 add allow tcp from any to any 22 setup keep-state

###############################################################################################################
########################################## Firewall_Begin #####################################################

        ${FwCMD} add 1040 allow ip from any to any via re0

        ${FwCMD} nat 1 config log if tun0 reset same_ports deny_in \
                redirect_port tcp 192.168.1.102:3389 3389 \
                redirect_port udp 192.168.1.20:80 80

        ${FwCMD} add 10130 nat 1 ip from any to any via tun0
        ${FwCMD} add 10150 pass tcp from any to ${IpOut} 3389 via ${LanOut}
        ${FwCMD} add 10140 pass tcp from any to 192.168.1.102 3389 via ${LanOut}
        ${FwCMD} add 10140 pass tcp from any to 192.168.1.102 3389 via ${LanIn}
Соединение с инетом через PPPoE:

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

re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
        ether 1c:6f:65:85:e9:ec
        inet 192.168.1.222 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=3808<VLAN_MTU,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
        ether 00:02:44:71:89:9a
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
        options=80000<LINKSTATE>
        inet 81.18.81.18 --> 2.2.2.3 netmask 0xffffffff
        Opened by PID 497
Попытка подключиться из вне на порт 3389:

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

[14:33]/home/immortal/>ipfw show
00100   0     0 allow ip from any to any via lo0
00101   0     0 deny ip from any to 127.0.0.0/8
00102   0     0 deny ip from 127.0.0.0/8 to any
00120   0     0 allow tcp from any to any dst-port 22 setup keep-state
01040 324 34964 allow ip from any to any via re0
10130   3   144 nat 1 ip from any to any via tun0
10150   0     0 allow tcp from any to 81.18.118.195 dst-port 3389 via tun0
10160   0     0 allow tcp from any to 192.168.1.102 dst-port 3389 via tun0
10170   0     0 allow tcp from any to 192.168.1.102 dst-port 3389 via re0
65535   0     0 deny ip from any to any

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

[14:19]/home/immortal/>tcpdump -i tun0 tcp port 3389
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type NULL (BSD loopback), capture size 96 bytes
14:20:12.379132 IP 81.18.115.84.2700 > 81.18.81.18.rdp: Flags [S], seq 3266011509, win 16384, options [mss 1360,nop,nop,sackOK], length 0
14:20:15.418094 IP 81.18.115.84.2700 > 81.18.81.18.rdp: Flags [S], seq 3266011509, win 16384, options [mss 1360,nop,nop,sackOK], length 0
14:20:21.432593 IP 81.18.115.84.2700 > 81.18.81.18.rdp: Flags [S], seq 3266011509, win 16384, options [mss 1360,nop,nop,sackOK], length 0

tcpdump -i tun0 tcp port 3389
Не дал результата...
Как видно пакеты прошли через 2 правила и до внутренней сетки (re0) вообще не дошли

Аватара пользователя
tom.cat
старшина
Сообщения: 446
Зарегистрирован: 2007-11-24 20:23:49
Откуда: Мытищи
Контактная информация:

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение tom.cat » 2011-12-19 9:28:56

У меня в pf.conf выглядет это следующим образом:

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

ext_if="tun0"   # replace with actual external interface name i.e., dc0
int_if="em1"    # replace with actual internal interface name i.e., dc1
tcp_services="{ 23, 22, 2120, 8021, 49152:65535, 19114, 57400, 1413, 3389, 21 }"
server="192.168.1.10"
rdr on $ext_if proto tcp from any to ($ext_if) port 3389 -> $server port 3389
pass in on $ext_if inet proto tcp from any to $server port $tcp_services flags S/SA keep state
pass out keep state
Ну и rc.conf

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

ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"
ppp_profile="pppoe"
pf_enable="YES"
pf_rules="/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
When you see pigs fly it means Windows has become open source

immortal
мл. сержант
Сообщения: 110
Зарегистрирован: 2011-11-10 6:11:34

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение immortal » 2011-12-19 9:36:59

Я с PF пока ваще не дружу, но в качестве примера попробую

Аватара пользователя
tom.cat
старшина
Сообщения: 446
Зарегистрирован: 2007-11-24 20:23:49
Откуда: Мытищи
Контактная информация:

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение tom.cat » 2011-12-19 9:46:08

Я не полный конфиг кинул, а те строки касающиеся RDP.
When you see pigs fly it means Windows has become open source

Аватара пользователя
sadchok
сержант
Сообщения: 271
Зарегистрирован: 2011-10-13 10:40:54
Откуда: Алтайский край

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение sadchok » 2011-12-19 10:28:33

я так понимаю вы пытаетесь пробросить RDP сессию через два шлюза.
причем один из них не знает о существовании второго.
Потому и не может промаршрутизировать ответный пакет.
The brain can not be found. Runs the software emulation

immortal
мл. сержант
Сообщения: 110
Зарегистрирован: 2011-11-10 6:11:34

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение immortal » 2011-12-19 10:33:09

Почему через два?? через 1 свой или я чего то не догоняю...

immortal
мл. сержант
Сообщения: 110
Зарегистрирован: 2011-11-10 6:11:34

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение immortal » 2011-12-19 10:35:32

Вобщем как дело, есть локальная сеть, я настроил шлюз в сети с адресом локальным 192.168.1.222, вторая сетевуха смотрит в инет с адресом 81.18.81.18... На шлюзе пишу правила проброса по порту 3389
Вот и подключаюсь rdp клиентом к 81.18.81.18 и должен попадать на терминальный сервер внутри локалки.

Аватара пользователя
sadchok
сержант
Сообщения: 271
Зарегистрирован: 2011-10-13 10:40:54
Откуда: Алтайский край

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение sadchok » 2011-12-19 10:48:32

В таком случае на терминальном сервере шлюзом по умолчанию нужно прописать ваш шлюз.
The brain can not be found. Runs the software emulation

immortal
мл. сержант
Сообщения: 110
Зарегистрирован: 2011-11-10 6:11:34

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение immortal » 2011-12-19 10:57:13

Щас попробую

immortal
мл. сержант
Сообщения: 110
Зарегистрирован: 2011-11-10 6:11:34

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение immortal » 2011-12-19 10:59:52

sadchok писал(а):В таком случае на терминальном сервере шлюзом по умолчанию нужно прописать ваш шлюз.
Во:) Уже лучше!!! Обмен на внутреннем интерфейсе пошел в обе стороны, но на внешнем по прежнему только в одну...

Mobilesfinks
мл. сержант
Сообщения: 128
Зарегистрирован: 2008-04-14 14:49:48
Контактная информация:

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение Mobilesfinks » 2011-12-19 11:13:50

openvpn рекомендую настроить.
Сам с проборосами портов не сильно мучился, и на free и на linux всё получалось легко (после достижения определенного уровня опыта )) и набивания шишек).
Если хочешь ходить на машину по RDP, то ИМХО лучше VPN и через него уже коннектится. Тем более OpenVPN настраивается очень легко. В интернете много хаутушек, и в последнее время появились статьи с объяснением принципов работы.

Аватара пользователя
sadchok
сержант
Сообщения: 271
Зарегистрирован: 2011-10-13 10:40:54
Откуда: Алтайский край

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение sadchok » 2011-12-19 11:15:24

еще раз конфиг IPFW в студию и вывод ipfw show и tcpdump
The brain can not be found. Runs the software emulation

Аватара пользователя
sadchok
сержант
Сообщения: 271
Зарегистрирован: 2011-10-13 10:40:54
Откуда: Алтайский край

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение sadchok » 2011-12-19 11:18:32

Mobilesfinks писал(а):openvpn рекомендую настроить.
Сам с проборосами портов не сильно мучился, и на free и на linux всё получалось легко (после достижения определенного уровня опыта )) и набивания шишек).
Если хочешь ходить на машину по RDP, то ИМХО лучше VPN и через него уже коннектится. Тем более OpenVPN настраивается очень легко. В интернете много хаутушек, и в последнее время появились статьи с объяснением принципов работы.
кроме RDP у него еще и http (хотя если он тоже сугубо для себя то openvpn рулит)
Ну или ssh туннель.
The brain can not be found. Runs the software emulation

immortal
мл. сержант
Сообщения: 110
Зарегистрирован: 2011-11-10 6:11:34

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение immortal » 2011-12-19 11:24:33

Все получилось!!!!! :Yahoo!: sadchok спасибо огромное Вам за помощь!! Дело было действительно в шлюзе на клиентах к кторым идет проброс... Офигеть и из-за этой мелочи 3 недели коту под хвост!!!
Вобщем конфиги выше правильные, нужен был шлюз на клиентах.
sadchok, выражаю Вам еще раз огромную благодарность!! :drinks:

Аватара пользователя
sadchok
сержант
Сообщения: 271
Зарегистрирован: 2011-10-13 10:40:54
Откуда: Алтайский край

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение sadchok » 2011-12-19 11:35:37

для RDP все таки думаю стоит VPN или SSH туннель настроить.
The brain can not be found. Runs the software emulation

immortal
мл. сержант
Сообщения: 110
Зарегистрирован: 2011-11-10 6:11:34

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение immortal » 2011-12-19 11:43:54

Я еще до этого не добрался, но я думаю скоро эта тема появиться в этой ветке :)

Mobilesfinks
мл. сержант
Сообщения: 128
Зарегистрирован: 2008-04-14 14:49:48
Контактная информация:

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение Mobilesfinks » 2011-12-19 11:48:19

sadchok писал(а):для RDP все таки думаю стоит VPN или SSH туннель настроить.
Да, наверное ещё более просто будет через SSH пустить.

Аватара пользователя
sadchok
сержант
Сообщения: 271
Зарегистрирован: 2011-10-13 10:40:54
Откуда: Алтайский край

Re: Война с пробросом порта продолжается!!!

Непрочитанное сообщение sadchok » 2011-12-19 12:26:30

Если использовать RDP клиента (типа remmina) который сам умеет поднимать ssh туннель то и настраивать нечего.
The brain can not be found. Runs the software emulation