Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   Удалённый доступ к Windows через iptables (http://forum.oszone.net/showthread.php?t=128325)

Gangabass 11-01-2009 10:25 1003498

Удалённый доступ к Windows через iptables
 
Необходимо разрешить доступ к одной из Windows машин в локальной сети.
Сеть подключена к Интернету через машину с ASPLinux.

В iptables выставил вот это:
-A PREROUTING -d наш.внешний.ip.адрес -p tcp -m multiport --dport 3389 -j DNAT --to-destination 192.168.0.1
-A POSTROUTING -s 192.168.0.1 -j SNAT --to-source наш.внешний.ip.адрес

-A FORWARD -d 192.168.0.1 -p tcp -m multiport --dport 3389 -j ACCEPT
-A FORWARD -s 192.168.0.1 -j ACCEPT

-A FORWARD -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
-A FORWARD -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

Но это не работает :-(. Подскажите в чём может быть дело? Нужно ли открывать этот порт (3389) в system-config-securitylevel?

BuGfiX 11-01-2009 11:00 1003528

Что выдает iptables -L -n ?
Включен ли порт-форвардинг ? cat /proc/sys/net/ipv4/ip_forward

Gangabass 11-01-2009 11:33 1003548

Цитата:

Chain INPUT (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy ACCEPT)
target prot opt source destination
RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- 0.0.0.0/0 192.168.0.1 multiport dports 3389
ACCEPT all -- 192.168.0.1 0.0.0.0/0
REJECT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:0x12/0x12 state NEW reject-with tcp-reset
DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 state NEW
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain RH-Firewall-1-INPUT (2 references)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255
ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0
ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0
ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:143
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:110
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:10000
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:443
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:137
ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 state NEW udp dpt:138
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:139
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:445
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:2227
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:2228
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Форвардинг включён.

BuGfiX 11-01-2009 12:47 1003603

У Вас все пакеты из FORWARD уходят в RH-Firewall-1-INPUT, и до правил, разрешающих прохождение нужных Вам пакетов, дело не доходит. Уберите строку RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 .

Gangabass 13-01-2009 03:48 1005914

Цитата:

Цитата BuGfiX
У Вас все пакеты из FORWARD уходят в RH-Firewall-1-INPUT, и до правил, разрешающих прохождение нужных Вам пакетов, дело не доходит. Уберите строку RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0 . »

Попробовал -- по прежнему не работает.

Gangabass 13-01-2009 04:08 1005917

На самом деле всё немного сложнее (каюсь, что не посчитал это важным сразу же):

1. К Интернету подключён ADSL-модем. Он и получает внешний IP-адрес.
2. ADSL-модем выдаёт адрес одному из интерфейсов машины-шлюза (eth1, 192.168.1.4)
3. Второй интерфейс машины-шлюза имеет внутренний адрес (192.168.0.22).
4. Нужно организовать удалённый доступ к машине во внутренней сети с адресом 192.168.0.1 (при этом сейчас есть правила, позволяющие ей выходить в Интернет напрямую, в обход прокси сервера).

BuGfiX 13-01-2009 17:38 1006470

Попробуйте сделать на ADSL модеме проброс порта 3389 на рутер, а уже с него на виндовую машину.
Да, и тут:
-A PREROUTING -d наш.внешний.ip.адрес -p tcp -m multiport --dport 3389 -j DNAT --to-destination 192.168.0.1
вместо "наш.внешний.ip.адрес" нужно писать именно адрес одного из интерфейсов, принадлежащих данной машине, а не какой-то другой.

Alan85 13-01-2009 19:10 1006555

Добавь вот это... может поможет
-A OUTPUT -p tcp -m tcp -d 192.168.0.1 --dport 3389 -m state --state NEW -j ACCEPT

BuGfiX 13-01-2009 20:30 1006625

Цитата:

Цитата Alan85
Добавь вот это... может поможет
-A OUTPUT -p tcp -m tcp -d 192.168.0.1 --dport 3389 -m state --state NEW -j ACCEPT »

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

Gangabass 14-01-2009 15:25 1007435

Цитата:

Цитата BuGfiX
Попробуйте сделать на ADSL модеме проброс порта 3389 на рутер, а уже с него на виндовую машину.
Да, и тут:
-A PREROUTING -d наш.внешний.ip.адрес -p tcp -m multiport --dport 3389 -j DNAT --to-destination 192.168.0.1
вместо "наш.внешний.ip.адрес" нужно писать именно адрес одного из интерфейсов, принадлежащих данной машине, а не какой-то другой. »

Заработало!!! Спасибо огромное.

Всё дело было не в модеме (он и так был правильно настроен), сработало ваше правило.
Цитата:

-A PREROUTING -d 192.168.1.4 -p tcp -m multiport --dport 3389 -j DNAT --to-destination 192.168.0.1
Вот так это должно выглядеть.

P. S. Отдельное спасибо всем за помощь.


Время: 10:36.

Время: 10:36.
© OSzone.net 2001-