LINUX.ORG.RU
ФорумAdmin

Удалённый доступ к Windows через iptables


0

0

Необходимо разрешить доступ к одной из 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?


Ответ на: комментарий от Nao

Да, форвардинг включён.
Ещё вот что выдаёт команда iptables -L -n
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

Kinjo
() автор топика
Ответ на: комментарий от Nao

Вот:
Chain PREROUTING (policy ACCEPT 91926 packets, 6494K bytes)
 pkts bytes target     prot opt in     out     source               destination         
    2    96 DNAT       tcp  --  *      *       0.0.0.0/0            мой.внешний.ip.адрес       multiport dports 3389 to:192.168.0.1 
    0     0 DNAT       tcp  --  *      *       0.0.0.0/0            мой.внешний.ip.адрес       tcp dpt:3389 to:192.168.0.1 

Chain POSTROUTING (policy ACCEPT 573K packets, 64M bytes)
 pkts bytes target     prot opt in     out     source               destination         
 2897  308K SNAT       all  --  *      *       192.168.0.6          0.0.0.0/0           to:192.168.1.4 

Chain OUTPUT (policy ACCEPT 573K packets, 64M bytes)
 pkts bytes target     prot opt in     out     source               destination         

Kinjo
() автор топика
Ответ на: комментарий от Kinjo

>-A POSTROUTING -s 192.168.0.1 -j SNAT --to-source наш.внешний.ip.адрес 

>2897  308K SNAT       all  --  *      *       192.168.0.6          0.0.0.0/0           to:192.168.1.4 

это одно и тоже правило или нет? чего-то везде айпишники разные.

хотя вроде бы цепочка FORWARD правильная, но попробуйте убрать оттуда все правила и посмотреть что будет (iptables -F FORWARD)

Nao ★★★★★
()

До того, как настраивали iptables, на машину можно было попасть?

пробовали?:
iptables -F
iptables -X
iptables -Z

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P PREROUTING ACCEPT
iptables -P POSTROUTING ACCEPT

markevichus ★★★
()
Ответ на: комментарий от Kinjo

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

Kinjo
() автор топика
Ответ на: комментарий от Kinjo

с этого и надо было начинать!

>1. К Интернету подключён ADSL-модем. Он и получает IP-адрес.

модем работает в режиме моста или в режиме NAT? насколько я понимаю - NAT? Если да то у вас входящие соединения режутся на вашем модеме а не на сервере:) тоесть сам модем делает те же -j SNAT и прочее что вы тут писали выше, только с другими айпишниками.

Вам нужно зайти на адсл-модем через веб-интерфейс или по телнету(если уж совсем худо) и "пробросить порт" вовнутрь в первую очередь там.

Только будьте внимательны _куда_ вы будете пробрасывать. Либо сделайте двойной проброс(с модема на сервер, с сервера на конечную машину) либо сразу с модема на конечную машину(вам нужно будет разрешить на сервере такое хождение в цепочке FORWARD

>2. ADSL-модем выдаёт адрес одному из интерфейсов машины-шлюза (eth1, 192.168.1.4)

выдаёт по dhcp?

Nao ★★★★★
()
Ответ на: комментарий от Kinjo

Проблема решена.
Всё дело было в этом правиле:
-A PREROUTING -d 192.168.1.4 -p tcp -m multiport --dport 3389 -j DNAT --to-destination 192.168.0.1

У меня первоначально неверно был указан внешний IP-адрес, а нужно было указывать IP-адрес интерфейса, получаемый от модема (192.168.1.4).

Kinjo
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.