bondarchuk Posted April 10, 2012 Posted April 10, 2012 Есть некий удаленный сервер на Linux (Debian), его eth0 смотрит в интернет и имеет свой статический IP (белый), eth1 соответственно смотрит в локалку, в которой имеется группа устройств (Nanostaion) c IP 192.168.4.XX. Вопрос, как организовать проброс портов, что-бы удаленно заходить на 80-й порт данных точек в локалке, с учетом того что-бы их колличество увеличивается (тоесть возможноть подставлять нужный IP) ? Вставить ник Quote
pppoetest Posted April 10, 2012 Posted April 10, 2012 вх. порт с 1024 по 65535 на eth0 делать DNAT на 80-й порт на IP 192.168.4.XX. Но, имхо, изврат. Вставить ник Quote
bondarchuk Posted April 10, 2012 Author Posted April 10, 2012 (edited) вх. порт с 1024 по 65535 на eth0 делать DNAT на 80-й порт на IP 192.168.4.XX. Но, имхо, изврат. делаю на сервере так ssh root@myserver.com -R localhost:9080:192.168.4.2:80 затем в браузере myserver.com:9080 не работает Edited April 10, 2012 by bondarchuk Вставить ник Quote
YuryD Posted April 11, 2012 Posted April 11, 2012 Если есть возможность прокинуть до себя vlan, то выселить управление батонами в него, а так - dnat. Вставить ник Quote
g3fox Posted April 11, 2012 Posted April 11, 2012 а впн сервер поднять на сервере не вариант ? сейчас это делается за 5 минут... на мой взгляд то, что нужно ... Вставить ник Quote
Pinkbyte Posted April 11, 2012 Posted April 11, 2012 делаю на сервере так ssh root@myserver.com -R localhost:9080:192.168.4.2:80 А делать надо так ssh root@myserver.com -L 9080:192.168.4.2:80 Вставить ник Quote
lan-viper Posted April 11, 2012 Posted April 11, 2012 На одну или несколько наносов можно правил в фаервол понасоздавать, а с вашим условием, лучше поднять openvpn со входом по ключам. Можно настроить так, что при подключении будете, как будто в удалённой сети непосредственно. Сам так делал и проброс в ssh проходил, неудобно будет. Вставить ник Quote
NiTr0 Posted April 11, 2012 Posted April 11, 2012 лучше поднять openvpn со входом по ключам Накой? ssh чем не кошерно? Или есть желание из пушки по воробьям? :) А так - да, вариантов много есть. Вплоть до прокси :) Вставить ник Quote
lan-viper Posted April 11, 2012 Posted April 11, 2012 лучше поднять openvpn со входом по ключам Накой? ssh чем не кошерно? Или есть желание из пушки по воробьям? :) А так - да, вариантов много есть. Вплоть до прокси :) Когда я этим пользовался, то мне было очень удобно - поднимается тунель с ip из нужной вам удалённой сети со всеми вытекющими отсюда плюсами... Вставить ник Quote
YuryD Posted April 11, 2012 Posted April 11, 2012 лучше поднять openvpn со входом по ключам Накой? ssh чем не кошерно? Или есть желание из пушки по воробьям? :) Наносами по ssh рулить некошерно, ибо документации - хрен... Вставить ник Quote
eill Posted April 11, 2012 Posted April 11, 2012 можно скриптом + ssh -L, например что-то в духе "nano 192.168.0.1" разворачивается в ssh server -L 8080:192.168.0.1:80. Потом http://localhost:8080/ и в путь :) либо просто заранее раскидать туннели по диапазону портов, т.е. например устройствам из сети 192.168.1.0 назначать порт 5xxx, 192.168.2.0 - 6xxx и так далее. Я так делаю, например. Преимущество - интуитивно помнишь, что "вышка такая то, сектор такой-то = префикс портов такой-то". нужный конфиг нагенеривается при помощи for i in `seq -w` в течение пары секунд. Вставить ник Quote
Ivan_83 Posted April 11, 2012 Posted April 11, 2012 Поднять IPv6, выдать наносам белые адреса...на будущее. Вставить ник Quote
NiTr0 Posted April 11, 2012 Posted April 11, 2012 Наносами по ssh рулить некошерно Я имел ввиду в общем-то ssh туннель для проброски порта... Вставить ник Quote
g3fox Posted April 12, 2012 Posted April 12, 2012 а чем всё-же pptp не устраивает ? Вставить ник Quote
Ivan_83 Posted April 12, 2012 Posted April 12, 2012 gre не везде пролазит, уж лучше l2tp, если с винды админить. Вставить ник Quote
NiTr0 Posted April 12, 2012 Posted April 12, 2012 а чем всё-же pptp не устраивает ? А накой плодить сущности? Чем туннель через ssh будет хуже в данном случае? Гигабайты траффика никто качать через него не собирается же. Вставить ник Quote
bondarchuk Posted April 12, 2012 Author Posted April 12, 2012 (edited) А делать надо так ssh root@myserver.com -L 9080:192.168.4.2:80 делаю так ssh root@myserver.com -L 9080:192.168.4.2:80 в браузере myserver.com:9080 - результат нуль Edited April 12, 2012 by bondarchuk Вставить ник Quote
Inoyat Posted April 13, 2012 Posted April 13, 2012 Блин, Оккамы...:) in /etc/xinetd.d/_имя_файла_по_вкусу_ service _имя_сервиса_по_вкусу_ { type = UNLISTED socket_type = stream protocol = tcp port = 30080 (_сменить_по_вкусу_) wait = no user = nobody server = /usr/bin/redir server_args = --inetd --syslog --caddr=_ип_нано_1 --cport=80 only_from = _опять_по_вкусу_ } Идем в браузере http://_внешний_ип:30080 - попадаем на первой нано Ну и доделать для всех остальных. Вставить ник Quote
Ivan_83 Posted April 13, 2012 Posted April 13, 2012 in /etc/xinetd.d/_имя_файла_по_вкусу_ Порнуха, я фаерволом тоже самое делаю. Вставить ник Quote
Inoyat Posted April 14, 2012 Posted April 14, 2012 in /etc/xinetd.d/_имя_файла_по_вкусу_ Порнуха, я фаерволом тоже самое делаю. И чем порнуха? Обоснуй плз - просто интересно. Вставить ник Quote
Alex/AT Posted April 14, 2012 Posted April 14, 2012 (edited) Порнуха тем, что ради банального заворота трафика решили городить целый процесс на сокет со своими отдельными конфигами, отдельной областью памяти и потоком исполнения. Есть еще переброс трафика kernelspace<->userspace. Понятно, что в рамках интерфейсов конфигурации трафик непринципиальный, но вот для чего-то потяжелее я такой изврат делать бы не советовал. Короче, правильности у такого подхода нет - всё это прекрасно можно сделать просто и быстро средствами файрвола, не доходя до TCP/IP-стека и юзерспейса. Соответственно, надо делать там. iptables -t nat -A PREROUTING -i eth0 -d <IP сервака во внешке> -m tcp -p tcp --dport 30001<по вкусу> -j DNAT --to <адрес точки 1>:80 iptables -t nat -A PREROUTING -i eth0 -d <IP сервака во внешке> -m tcp -p tcp --dport 30002<по вкусу> -j DNAT --to <адрес точки 2>:80 ... iptables -t filter -A FORWARD -i eth0 -d <адрес точки 1> -m tcp -p tcp --dport 80 -j ACCEPT iptables -t filter -A FORWARD -i eth0 -d <адрес точки 2> -m tcp -p tcp --dport 80 -j ACCEPT ... Убедиться, что для точек шлюзом по умолчанию является сервак. Убедиться, что /proc/sys/net/ipv4/ip_forward в значении 1. Усё Edited April 14, 2012 by Alex/AT Вставить ник Quote
bondarchuk Posted April 17, 2012 Author Posted April 17, 2012 (edited) Спасибо, Alex/AT все работает! Edited April 17, 2012 by bondarchuk Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.