Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Проброс портов RDP через NAT  (Прочитано 4889 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проброс портов RDP через NAT
« Ответ #15 : 05 Июля 2017, 07:09:03 »
sysctl net.ipv4.ip_forward ?

Оффлайн xsash

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Проброс портов RDP через NAT
« Ответ #16 : 05 Июля 2017, 08:06:45 »
net.ipv4.ip_forward = 1

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проброс портов RDP через NAT
« Ответ #17 : 05 Июля 2017, 12:38:25 »
на rdp-сервере отключите временно брандмауер. Остальное всё верно (согласно представленной диагностики).

Оффлайн xsash

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Проброс портов RDP через NAT
« Ответ #18 : 05 Июля 2017, 15:52:50 »
Я пробовал уже, не помогает. Да и не файервол это, иначе бы я не мог подцепиться внутри локалки, или через rinetd...

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

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проброс портов RDP через NAT
« Ответ #19 : 05 Июля 2017, 19:51:52 »
иначе бы я не мог подцепиться внутри локалки, или через rinetd..
В файрволле может стоять ограничение доступа "только для локальной сети"

До шлюза
sudo tcpdump -ne -i eth1 host 110.120.130.205 and port 3389После шлюза
sudo tcpdump -ne -i eth0 host 10.0.0.10 and port 3389

Оффлайн xsash

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Проброс портов RDP через NAT
« Ответ #20 : 05 Июля 2017, 20:15:46 »
>В файрволле может стоять ограничение доступа "только для локальной сети"
да, вы правы, упустил этот момент


tcpdump... Это я тоже смотрел прошлые разы... Вот текущее состояние

На WAN`e все норм, данные приходят

tcpdump -ne -i eth1 host 110.120.130.205 and port 3389

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 262144 bytes
21:07:03.229756 00:00:5e:xx:02:12 > 00:21:91:xx:c2:33, ethertype IPv4 (0x0800), length 74: 176.25.116.122.8138 > 110.120.130.205.3389: Flags [S], seq 3865609278, win 64240, options [mss 1460,nop,wscale 8,sackOK,TS val 89299416 ecr 0], length 0
21:07:03.229796 00:21:91:xx:c2:33 > 00:00:5e:xx:02:12, ethertype IPv4 (0x0800), length 54: 110.120.130.205.3389 > 176.25.116.122.8138: Flags [R.], seq 0, ack 3865609279, win 0, length 0
21:07:03.751144 00:00:5e:xx:02:12 > 00:21:91:xx:c2:33, ethertype IPv4 (0x0800), length 74: 176.25.116.122.8138 > 110.120.130.205.3389: Flags [S], seq 3865609278, win 64240, options [mss 1460,nop,wscale 8,sackOK,TS val 89299937 ecr 0], length 0
21:07:03.751186 00:21:91:xx:c2:33 > 00:00:5e:xx:02:12, ethertype IPv4 (0x0800), length 54: 110.120.130.205.3389 > 176.25.116.122.8138: Flags [R.], seq 0, ack 1, win 0, length 0
21:07:04.272738 00:00:5e:xx:02:12 > 00:21:91:xx:c2:33, ethertype IPv4 (0x0800), length 74: 176.25.116.122.8138 > 110.120.130.205.3389: Flags [S], seq 3865609278, win 64240, options [mss 1460,nop,wscale 8,sackOK,TS val 89300459 ecr 0], length 0
21:07:04.272789 00:21:91:xx:c2:33 > 00:00:5e:xx:02:12, ethertype IPv4 (0x0800), length 54: 110.120.130.205.3389 > 176.25.116.122.8138: Flags [R.], seq 0, ack 1, win 0, length 0
^C
6 packets captured
6 packets received by filter
0 packets dropped by kernel
1 packet dropped by interface

А вот на LAN - тишина

tcpdump -ne -i eth0 host 10.0.0.10 and port 3389

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel


А вот если "идти" через 55555 порт, то команда
tcpdump -ne -i eth0 host 10.0.0.10 and port 3389

21:18:40.596814 10:c3:2b:xx:d4:ae > 48:5b:29:xx:8f:e5, ethertype IPv4 (0x0800), length 74: 10.0.0.1.12579 > 10.0.0.10.3389: Flags [S], seq 3943667566, win 29200, options [mss 1460,sackOK,TS val 10848132 ecr 0,nop,wscale 7], length 0
21:18:40.597190 48:5b:29:xx:8f:e5 > 10:c3:2b:xx:d4:ae, ethertype IPv4 (0x0800), length 74: 10.0.0.10.3389 > 10.0.0.1.12579: Flags [S.], seq 1898971765, ack 3943667567, win 8192, options [mss 1460,nop,wscale 8,sackOK,TS val 68867164 ecr 10848132], length 0
..
..
..

456 packets captured
456 packets received by filter
0 packets dropped by kernel
показывает все пакеты, а главное первый 10.0.0.1.12579 > 10.0.0.10.3389

Все таки затык на шлюзе
« Последнее редактирование: 05 Июля 2017, 20:25:41 от xsash »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проброс портов RDP через NAT
« Ответ #21 : 05 Июля 2017, 21:38:36 »
Вот так лучше посмотреть
sudo tcpdump -n -vv -i any port 3389
и давайте посмотрим, в правила пакеты  rdp хоть попадают? (сделайте несколько попыток подключения)
sudo iptables -nvL
sudo iptables -nvL -t nat
« Последнее редактирование: 05 Июля 2017, 22:12:46 от fisher74 »

Оффлайн xsash

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Проброс портов RDP через NAT
« Ответ #22 : 05 Июля 2017, 22:51:31 »
tcpdump -n -vv -i any port 3389
tcpdump: listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
23:44:38.985872 IP (tos 0x70, ttl 118, id 26660, offset 0, flags [DF], proto TCP (6), length 60)
    176.25.116.122.10117 > 110.120.130.205.3389: Flags [S], cksum 0x652f (correct), seq 3260584949, win 64240, options [mss 1460,nop,wscale 8,sackOK,TS val 98754885 ecr 0], length 0
23:44:44.994305 IP (tos 0x70, ttl 118, id 26662, offset 0, flags [DF], proto TCP (6), length 60)
    176.25.116.122.10117 > 110.120.130.205.3389: Flags [S], cksum 0x4db7 (correct), seq 3260584949, win 64240, options [mss 1460,nop,wscale 8,sackOK,TS val 98760893 ecr 0], length 0
^C
2 packets captured
3 packets received by filter
0 packets dropped by kernel


"нули" после сброса iptables, было несколько попыток подключится на 3389, первая попытка выше в tcpdump
iptables -nvL
Chain INPUT (policy DROP 11 packets, 724 bytes)
 pkts bytes target     prot opt in     out     source               destination
   35  3118 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
  203 22108 ACCEPT     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0
  127 19553 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    1    44 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            state INVALID
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x00
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:!0x17/0x02 state NEW
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:44022
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:55555
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:3389
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:4444
    0     0 ACCEPT     tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22000
    0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:123
    0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            udp dpt:123
    0     0 ACCEPT     tcp  --  *      *       10.0.0.0/24          0.0.0.0/0            tcp dpt:53
    0     0 ACCEPT     udp  --  *      *       10.0.0.0/24          0.0.0.0/0            udp dpt:53
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 0
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 3
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 11
    0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
   93 19599 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            state INVALID
    6   360 REJECT     all  --  eth1   eth0    0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:3389
    3  3144 ACCEPT     all  --  eth0   eth1    0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
   35  3118 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0
  161 20639 ACCEPT     all  --  *      eth0    0.0.0.0/0            0.0.0.0/0
  126 38824 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:!0x17/0x02 state NEW
   57  4256 ACCEPT     all  --  *      eth1    0.0.0.0/0            0.0.0.0/0

iptables -nvL -t nat
Chain PREROUTING (policy ACCEPT 449 packets, 27506 bytes)
 pkts bytes target     prot opt in     out     source               destination
    6   360 DNAT       tcp  --  *      *       0.0.0.0/0            110.120.130.205      tcp dpt:3389 to:10.0.0.10:3389
   55  2856 REDIRECT   tcp  --  *      *       10.0.0.0/24          0.0.0.0/0            tcp dpt:443 redir ports 3443
    6   280 REDIRECT   tcp  --  *      *       10.0.0.0/24          0.0.0.0/0            multiport dports 80,81,82,88,1080,3127,3128,7900,8000,8080,8081,8088,8123,8888,9090 redir ports 3080

Chain INPUT (policy ACCEPT 261 packets, 18052 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 165 packets, 12569 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 165 packets, 12569 bytes)
 pkts bytes target     prot opt in     out     source               destination
   16  3743 SNAT       all  --  *      eth1    10.0.0.0/24          0.0.0.0/0            to:110.120.130.205

на случай текущее состояние iptables-save, так как что-то мог поправить
iptables-save

# Generated by iptables-save v1.4.21 on Wed Jul  5 23:49:50 2017
*filter
:INPUT DROP [48:2641]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A INPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -p tcp -m tcp --dport 44022 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 55555 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3389 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 4444 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 22000 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 123 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 123 -j ACCEPT
-A INPUT -s 10.0.0.0/24 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -s 10.0.0.0/24 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -i eth1 -o eth0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -i eth0 -o eth1 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A OUTPUT -o eth1 -j ACCEPT
COMMIT
# Completed on Wed Jul  5 23:49:50 2017
# Generated by iptables-save v1.4.21 on Wed Jul  5 23:49:50 2017
*nat
:PREROUTING ACCEPT [589:34854]
:INPUT ACCEPT [328:22575]
:OUTPUT ACCEPT [192:14425]
:POSTROUTING ACCEPT [192:14425]
-A PREROUTING -d 110.120.130.205/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 10.0.0.10:3389
-A PREROUTING -s 10.0.0.0/24 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3443
-A PREROUTING -s 10.0.0.0/24 -p tcp -m multiport --dports 80,81,82,88,1080,3127,3128,7900,8000,8080,8081,8088,8123,8888,9090 -j REDIRECT --to-ports 3080
-A POSTROUTING -s 10.0.0.0/24 -o eth1 -j SNAT --to-source 110.120.130.205
COMMIT
# Completed on Wed Jul  5 23:49:50 2017
# Generated by iptables-save v1.4.21 on Wed Jul  5 23:49:50 2017
*mangle
:PREROUTING ACCEPT [2086:390036]
:INPUT ACCEPT [1392:249137]
:FORWARD ACCEPT [603:136405]
:OUTPUT ACCEPT [1349:255035]
:POSTROUTING ACCEPT [1790:387752]
COMMIT
# Completed on Wed Jul  5 23:49:50 2017
« Последнее редактирование: 05 Июля 2017, 23:14:59 от xsash »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проброс портов RDP через NAT
« Ответ #23 : 06 Июля 2017, 06:59:00 »
Странно, что в FORWARD не попадает. Давайте попробуем поднимем правило для rdp повыше
sudo iptables -I FORWARD 2 -p tcp -m tcp --dport 3389 -j ACCEPT

Оффлайн xsash

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Проброс портов RDP через NAT
« Ответ #24 : 06 Июля 2017, 08:21:11 »
Давайте попробуем поднимем правило для rdp повыше

вот оно решение! пошли пакеты, дальше вы оказались правы, пришлось отключить для проверки firewall у винды, но это уже другая история, главное - завелось.
спасибо Вам за уделенное время

с чем могло быть связано такое поведение системы?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Проброс портов RDP через NAT
« Ответ #25 : 06 Июля 2017, 13:54:15 »
Пакеты дропались на правиле
-A FORWARD -i eth1 -o eth0 -j REJECT --reject-with icmp-port-unreachableСобственно оно и понятно. Правила для транзитных соединений со стороны eth1 нужно поднимать выше этого.
Я reject-with обычно не применяю, потому как-то упустил его подлючность.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Проброс портов RDP через NAT
« Ответ #26 : 07 Июля 2017, 15:20:02 »
-j REJECT --reject-with icmp-port-unreachable 
Это лучше использовать для соединений без контроля статуса.
Для tcp - tcp-reset
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.051 секунд. Запросов: 25.