Показать полную графическую версию : Radmin из интернета через Red Hat Linux (роутер) в локальную сеть
Добрый День!
вот столкнулся с такой задачей, help плиз:
есть локальная сеть 192.168.1.1-255, в ней машины Windows 2000 Pro и Windows XP Pro с установленными Remote Administrator v.2.2
сеть одноранговая, так как машин с десяток будет только. Установлен Windows 2003 Server SP1 с Radmin в качестве файл-сервера для внутренних машин (его IP 192.168.1.5)
в качестве роутера установлен пень-1 с Red Hat Linux (соотв. с двумя сетевухами):
eth0 - смотрит в локалку как 192.168.1.1
eth1 - смотрит в инет как 222.222.222.222 (для примера такой адрес)
подскажите пожалуйста как сделать зайти по Radmin из дома(с работы, с друзей ...т.е. с адреса не постоянного) на 192.168.1.5
т.е. я посылаю запрос на машину 222.222.222.222:4899 и она пробрасывает его на конкретный адрес - 192.168.1.5:4899.
имея такое соединение я уже смогу достучаться и до других в локалке.
Спасибо!
ЗЫ ответ на комаду "iptables -L"
[root@localhost root]# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- 192.168.1.0/24 anywhere
drop-and-log-it all -- 192.168.1.0/24 anywhere
ACCEPT icmp -- anywhere 222.222.222.222
ACCEPT tcp -- anywhere 222.222.222.222tcp dpt:ssh
ACCEPT all -- anywhere 222.222.222.222state RELATED,ESTABLISHED
drop-and-log-it all -- anywhere anywhere
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
drop-and-log-it all -- anywhere anywhere
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- 222.222.222.222 192.168.1.0/24
ACCEPT all -- 192.168.1.0/24 192.168.1.0/24
drop-and-log-it all -- anywhere 192.168.1.0/24
ACCEPT all -- 222.222.222.222 anywhere
ACCEPT tcp -- 192.168.1.0/24 255.255.255.255 tcp spt:bootps dpt:bootpc
ACCEPT udp -- 192.168.1.0/24 255.255.255.255 udp spt:bootps dpt:bootpc
drop-and-log-it all -- anywhere anywhere
Chain drop-and-log-it (5 references)
target prot opt source destination
DROP all -- anywhere anywhere
must die
15-10-2006, 20:31
Darza
А почему бы не поднять vpn сервер на роутере и уже напрямую цепляться к каждой машине в сети.
Добрый День!
must die
да машина очень слабая ;) pentium-I 166MHz, 64MBRAM, HDD 1Gb - настроена только как шлюз в интернет,
ни DNS ни DHCP на ней не установлено, просто перенаправляет запросы в инте,
да и стенкой из вне служит для сети локальной.
вот прошу команду которую нужно ввести и она добавиться к существующим правилам iptables
спасибо
must die
16-10-2006, 10:11
Вот перевод документации по IPtables, прочитайте раз Вы администрируете этот сервер.
http://gazette.linux.ru.net/rus/articles/iptables-tutorial.html
Я делал вот так:
root@TOWER:/home/n# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere 222.222.222.222 tcp dpt:garcon to:10.167.1.200:4899
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT tcp -- 10.167.1.200 anywhere to:222.222.222.222:999
SNAT all -- localnet/24 anywhere to:222.222.222.222
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Конекчусь на 222.222.222.222:999 и попадаю на 10.167.1.200:4899.
Если необходимо попасть на 10.167.1.ХХХ, то конекчусь на 10.167.1.ХХХ:4899 через 222.222.222.222:999 (это в настройках Radmin сессии или как там она называется)
Nigon а что значит у тебя "garcon" ? - понял это ты так номер порта прописал, имя дал ему.
разобрался, вот что я сделал:
iptables -t nat -A PREROUTING --dst 222.222.222.222 -p tcp --dport 11899 -j DNAT --to-destination 192.168.1.5:4899
и
iptables -t nat -A POSTROUTING -p tcp --dst 192.168.1.5 --dport 4899 -j SNAT --to-source 192.168.1.1
iptables -t nat -L мой новый:
[root@localhost root]# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- anywhere 222.222.222.222tcp dpt:11899 to:192.168.1.5:4899
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- anywhere anywhere to:222.222.222.222
SNAT tcp -- anywhere 192.168.1.5 tcp dpt:4899 to:192.168.1.1
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
и чего -то не пошло :(
Darza
это 999 порт... зыбыл -n сделать....
вот так вот будет яснее:
root@TOWER:/home/n# iptables -t nat -L -n
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- 0.0.0.0/0 222.222.222.222 tcp dpt:999 to:10.167.1.200:4899
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT tcp -- 10.167.1.200 0.0.0.0/0 to:222.222.222.222:999
SNAT all -- 10.167.1.0/24 0.0.0.0/0 to:222.222.222.222
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
вот что у меня сейчас выдает по команде iptables -t nat -L -n:
[root@localhost root]# iptables -t nat -L -n
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- 0.0.0.0/0 222.222.222.222 tcp dpt:11899 to:192.168.1.5:4899
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT all -- 0.0.0.0/0 0.0.0.0/0 to:222.222.222.222
SNAT tcp -- 0.0.0.0/0 192.168.1.5 tcp dpt:4899 to:192.168.1.1
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
что-то в SNAT я перепутал - из-за этого может не коннектиться или эта запись влияет тока на соединение по Радмину изнутри внутрь локалки?
Вот мои правила на НАТ и мутку с радмином:
-A PREROUTING -d 222.222.222.222 -p tcp --dport 999 -j DNAT --to-destination 10.167.1.200:4899
-A POSTROUTING -s 10.167.1.200 -o eth1 -p tcp -j SNAT --to-source 222.222.222.222:999
-A POSTROUTING -s 10.167.1.0/24 --out-interface eth1 -j SNAT --to-source 222.222.222.222
Добрый день!
сорри, уезжал.
приехал снова решил взяться - удалил старые правила и обновил на новые
вот команды которые ввожу:
iptables -t nat -A PREROUTING --dst 222.222.222.222 -p tcp --dport 4899 -j DNAT --to-destination 192.168.1.5:4899
iptables -t nat -A POSTROUTING -s 192.168.1.5 -o eth1 -p tcp -j SNAT --to-source 222.222.222.222:4899
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 --out-interface eth1 -j SNAT --to-source 222.222.222.222
после перегружаю Linux машину
проверяю ответ на команду iptables -t nat -L -n:
[root@srv]# iptables -t nat -L -n
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
DNAT tcp -- 0.0.0.0/0 222.222.222.222 tcp dpt:4899 to:192.168.1.5:4899
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
SNAT tcp -- 192.168.1.5 0.0.0.0/0 to:222.222.222.222:4899
SNAT all -- 192.168.1.0/24 0.0.0.0/0 to:222.222.222.222
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
вроде всё правлильно сделал
в итоге - пытаюсь подключиться к внешнему адресу 222.222.222.222:4899 (который по идее должен перебросить меня на внутренний 192.168.1.5:4899)
Radmin задумывается и дает отбой:
Connecting to 222.222.222.222
Cannot connect to the server
какие есть мысли? где и как мне еще проверить?
Благодарствую.
Darza, вот Вы написали 3 строчки, которые добавляют 2 правила в POSTROUTING и 1 в PREROUTING.
В ответе же на команду iptables -t nat -L -n я вижу только одно из этих правил. Т.е. после перезагрузки они у вас не восстанавливаются. Вообще, чтобы проверить работу правил перезагрузка компьютера не требуется.
З.Ы. 2-строчку я бы убрал, она дублируется 3-й.
Да, и еще: помимо этих правил у вас так же должны быть правила в FORWARD, разрешающие проброс пакетов.
BuGfiX
да, правила я добавил - перегрузил машину (ибо не получалось и думал что поможет) - и правила пропали.
пришлось их заново написать.
тут след. вопрос - а как сделать так чтобы мои нововведенные правила сохранялись?
так вот после тока как я их снова ввел(теперь уже не перегружаясь ;) ) - результат тот же отрицательный, т.е. не пускает меня с интернета на внутреннюю машину.
привожу часть(для FORWARD) результата команды iptables -L -n:
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
drop-and-log-it all -- 0.0.0.0/0 0.0.0.0/0
тут всё нормально? я так понимаю он всё что пришло пробрасывает
вот в другом ввиде этаже часть iptables -L -n --line-numbers -v:
Chain FORWARD (policy DROP 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 38500 39M ACCEPT all -- eth0 eth1 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 41764 3274K ACCEPT all -- eth1 eth0 0.0.0.0/0 0.0.0.0/0
3 90 4320 drop-and-log-it all -- * * 0.0.0.0/0 0.0.0.0/0
думаю что развязка где-то близка ;) помогите плиз
Чтобы правила сохранились нужно выполнить #/etc/init.d/iptables save После этой команды в /etc/sysconfig появится файл iptables со всеми правилами, откуда подгружаются при загрузке.
У RH и FC правила iptables хранятся в файле - /etc/sysconfig/iptables
При добавлении правил Вы должны учитывать что правила хранятся в нем в виде:
-t nat -A PREROUTING --dst 222.222.222.222 -p tcp --dport 4899 -j DNAT --to-destination 192.168.1.5:4899
без указания комманды iptables и при перезагрузке итд загружаются именно из него.
Если вам необходимо указывать именно в виде
iptables -t nat -A PREROUTING --dst 222.222.222.222 -p tcp --dport 4899 -j DNAT --to-destination 192.168.1.5:4899
используйте rc.local или свой rc скрипт или руками с консоли как Вам видется продуктивнее :) .
В качестве примера скриптов выполните поиск по форуму - этот момент уже обсуждался, и возможно именно в этом проблема.
Для проверки внесенных изменений в правила iptables используйте /etc/rc.d/init.d/iptables restart или /sbin/services iptables restart, а не перезагрузку... :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.