![]() |
iptables - создание туннеля (PortTunnel)
....така задача появилась:
на машине c адресом в сети 192.168.33.3 нужно все подключения на порт 334 тунеллировать на порт 333, так чтобы подключения на порт 333 приходили (создавались) с адресом источника 192.168.33.3 Знаю, под Вынь есть, реализующая всё это, программа - PortTunnel. Подскажите эт всё как под Линь учинить. Делал так: #iptables –A PREROUTING –t nat –p tcp –dport 334 -j REDIRECT –to-port 333 ...но входящие соединения на порт 333 шли с адресом источника, а не с адресом 192.168.33.3, вот!.. Ещё пробовал эдак: #iptables –t nat –A PREROUTING –p tcp –d 192.168.33.3 –dport 334 -j NAT –to-destination 192.168.33.3:333 ...таж фигня.. Еже кто разумел проблему, то будте добры, растолкуйте что да как/куда.. ....заранее спасиБо!.. |
Зачем это нужно, можно узнать?
|
....долго сказывать, но оч нужно, поверьте на слово
|
Тогда ответ - никак.
SNAT - по хорошему, делается только в цепочке OUTPUT. |
У меня как раз проблема подобного рода, но порт надо прокидывать из одной подсети (192.168.1.0/24) в другую (192.168.0.0/24).
Почитал вот это: http://www.opennet.ru/base/net/dnat_linux.txt.html И решил написать простенький скриптик для удобства: Код:
#!/bin/sh ./portout 192.168.1.4 80 80 мы должны обращаясь на 192.168.0.1:80 получить доступ на 80-й порт машины 192.168.1.4, но этого почему-то не происходит. Код:
[admin@router scripts]$ iptables -L |
ИМХО, примерно вот так (при default политиках DROP):
Код:
iptables -A PREROUTING -t nat -p tcp -d $EXT_IP --dport $EXT_PORT -j DNAT --to-destination $INT_IP:$INT_PORT В Вашем случае, опять таки ИМХО, будет достаточно просто: Код:
iptables -A PREROUTING -t nat -p tcp -d $EXT_IP --dport $EXT_PORT -j DNAT --to-destination $INT_IP:$INT_PORT |
Я знаю, форвард в дальнейшем будет DROP, поэтому скрипт пишется сразу так.
Я сглупил. Одну машину пересадил из одной подсети в другую, но пытался зайти на 192.168.0.1 с машины из 192.168.1.0/24, ибо с квм свитчем перепутал машины. Сорри, всё работает... :tomato2: |
....на самом то деле нифига не решено :-)
....чо мне с PortTunnelle`м то делать? :-):-):-) |
zelo, упс, прошу прощения :)
|
Цитата:
В общем случае - я уже сказал выше. |
Что-то не совсем понял из поста :(
Есть в сети ПК1 с адресом 192.168.33.3, а также ПК2 с адресом ххх.ххх.ххх.ххх. ПК2 подключается к ПК1 к порту 334, и необходимо это соединение на ПК1 перевести на порт 333 и заменить адрес источника на 192.168.33.3, так ? Тогда врядли получится подменить адрес источника. Потому что такая подмена делается в таблице nat в цепочке postrouting с помощью -j SNAT, в данном случае пакеты в эту цепочку не попадают. P.S. Не ругайте сильно, если не то написал ;) |
Время: 09:29. |
Время: 09:29.
© OSzone.net 2001-