![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » iptables - создание туннеля (PortTunnel) |
|
|
iptables - создание туннеля (PortTunnel)
|
Пользователь Сообщения: 112 |
....така задача появилась:
на машине 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 ...таж фигня.. Еже кто разумел проблему, то будте добры, растолкуйте что да как/куда.. ....заранее спасиБо!.. |
|
Отправлено: 11:47, 19-09-2007 |
![]() Старожил Сообщения: 215
|
Профиль | Отправить PM | Цитировать Зачем это нужно, можно узнать?
|
Отправлено: 14:18, 19-09-2007 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 112
|
Профиль | Отправить PM | Цитировать ....долго сказывать, но оч нужно, поверьте на слово
|
Отправлено: 14:37, 19-09-2007 | #3 |
![]() Старожил Сообщения: 215
|
Профиль | Отправить PM | Цитировать Тогда ответ - никак.
SNAT - по хорошему, делается только в цепочке OUTPUT. |
Отправлено: 14:40, 19-09-2007 | #4 |
Новый участник Сообщения: 32
|
Профиль | Отправить PM | Цитировать У меня как раз проблема подобного рода, но порт надо прокидывать из одной подсети (192.168.1.0/24) в другую (192.168.0.0/24).
Почитал вот это: http://www.opennet.ru/base/net/dnat_linux.txt.html И решил написать простенький скриптик для удобства: #!/bin/sh #IP внутренней сети, передаётся первым параметром INT_IP=$1 #IP внешней сети EXT_IP="192.168.0.1" INT_PORT=$2 EXT_PORT=$3 #интерфейс, который смотрит во внутреннюю подсеть INT_IF="br0" #Это может пригодиться потом #EXT_IF="vlan1" iptables -t nat -A PREROUTING -p tcp -d $EXT_IP --dport $EXT_PORT -j DNAT --to-destination $INT_IP:$INT_PORT iptables -A FORWARD -i $INT_IF -d $INT_IP -p tcp --dport $INT_PORT -j ACCEPT ./portout 192.168.1.4 80 80 мы должны обращаясь на 192.168.0.1:80 получить доступ на 80-й порт машины 192.168.1.4, но этого почему-то не происходит. [admin@router scripts]$ iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination [admin@router scripts]$ iptables -t nat -L Chain PREROUTING (policy ACCEPT) target prot opt source destination VSERVER all -- anywhere 192.168.0.1 Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- anywhere anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain VSERVER (1 references) target prot opt source destination [admin@router scripts]$ cat /etc/hosts | grep book 192.168.1.4 book [admin@router scripts]$ ./portout.sh 192.168.1.4 80 80 [admin@router scripts]$ iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT tcp -- anywhere book tcp dpt:www Chain OUTPUT (policy ACCEPT) target prot opt source destination [admin@router scripts]$ iptables -t nat -L Chain PREROUTING (policy ACCEPT) target prot opt source destination VSERVER all -- anywhere 192.168.0.1 DNAT tcp -- anywhere 192.168.0.1 tcp dpt:www to:192.168.1.4:80 Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- anywhere anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain VSERVER (1 references) target prot opt source destination |
|
Отправлено: 06:01, 20-09-2007 | #5 |
![]() Старожил Сообщения: 215
|
Профиль | Отправить PM | Цитировать ИМХО, примерно вот так (при 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 FORWARD -t filter -p all -i $EXT_IF -o $INT_IF -j ext-to-int iptables -A FORWARD -t filter -p all -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -N ext-to-int iptables -A ext-to-int -p tcp -d $INT_IP --dport INT_PORT -j ACCEPT iptables -A ext-to-int -p all -d $INT_IP -m state --state ESTABLISHED,RELATED -j ACCEPT В Вашем случае, опять таки ИМХО, будет достаточно просто: Далеше пакет пойдет в FORWARD и получит по умолчанию ACCEPT, далее в POSTROUTING - ACCEPT и т.д. |
Отправлено: 10:23, 20-09-2007 | #6 |
Новый участник Сообщения: 32
|
Профиль | Отправить PM | Цитировать Я знаю, форвард в дальнейшем будет DROP, поэтому скрипт пишется сразу так.
Я сглупил. Одну машину пересадил из одной подсети в другую, но пытался зайти на 192.168.0.1 с машины из 192.168.1.0/24, ибо с квм свитчем перепутал машины. Сорри, всё работает... ![]() |
Отправлено: 11:30, 21-09-2007 | #7 |
Пользователь Сообщения: 112
|
Профиль | Отправить PM | Цитировать ....на самом то деле нифига не решено :-)
....чо мне с PortTunnelle`м то делать? :-):-):-) |
Отправлено: 14:13, 21-09-2007 | #8 |
Линуксоид-стакановец Сообщения: 2391
|
Профиль | Отправить PM | Цитировать zelo, упс, прошу прощения
![]() |
------- Отправлено: 14:19, 21-09-2007 | #9 |
![]() Старожил Сообщения: 215
|
Профиль | Отправить PM | Цитировать Цитата zelo:
В общем случае - я уже сказал выше. |
|
Отправлено: 08:54, 24-09-2007 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Прочее - Стабильный SSH туннель. Скрипт мониторинга SSH туннеля. | AlexeiZ | Общий по Linux | 2 | 02-11-2009 12:49 | |
Debian/Ubuntu - Настройка SQUID для VPN-туннеля | Vadim_kazan | Общий по Linux | 3 | 15-05-2009 10:41 | |
IPTABLES!!! RULES, Разгавор о iptables | BuuG | Общий по Linux | 17 | 03-03-2006 16:00 | |
iptables | The Antihero | Общий по Linux | 21 | 03-11-2002 18:22 |
|