Jump to content

Recommended Posts

Posted

Есть некий удаленный сервер на Linux (Debian), его eth0 смотрит в интернет и имеет свой статический IP (белый),

eth1 соответственно смотрит в локалку, в которой имеется группа устройств (Nanostaion) c IP 192.168.4.XX.

 

Вопрос, как организовать проброс портов, что-бы удаленно заходить на 80-й порт данных точек в локалке,

с учетом того что-бы их колличество увеличивается (тоесть возможноть подставлять нужный IP) ?

Posted (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 by bondarchuk
Posted

Если есть возможность прокинуть до себя vlan, то выселить управление батонами в него, а так - dnat.

Posted

а впн сервер поднять на сервере не вариант ?

сейчас это делается за 5 минут...

на мой взгляд то, что нужно ...

Posted

На одну или несколько наносов можно правил в фаервол понасоздавать, а с вашим условием, лучше поднять openvpn со входом по ключам. Можно настроить так, что при подключении будете, как будто в удалённой сети непосредственно. Сам так делал и проброс в ssh проходил, неудобно будет.

Posted

лучше поднять openvpn со входом по ключам

Накой? ssh чем не кошерно? Или есть желание из пушки по воробьям? :)

А так - да, вариантов много есть. Вплоть до прокси :)

Posted

лучше поднять openvpn со входом по ключам

Накой? ssh чем не кошерно? Или есть желание из пушки по воробьям? :)

А так - да, вариантов много есть. Вплоть до прокси :)

Когда я этим пользовался, то мне было очень удобно - поднимается тунель с ip из нужной вам удалённой сети со всеми вытекющими отсюда плюсами...

Posted

лучше поднять openvpn со входом по ключам

Накой? ssh чем не кошерно? Или есть желание из пушки по воробьям? :)

 

Наносами по ssh рулить некошерно, ибо документации - хрен...

Posted

можно скриптом + 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` в течение пары секунд.

Posted

а чем всё-же pptp не устраивает ?

А накой плодить сущности?

Чем туннель через ssh будет хуже в данном случае? Гигабайты траффика никто качать через него не собирается же.

Posted (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 by bondarchuk
Posted

Блин, Оккамы...:)

 

 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 - попадаем на первой нано

 

Ну и доделать для всех остальных.

Posted
in /etc/xinetd.d/_имя_файла_по_вкусу_

Порнуха, я фаерволом тоже самое делаю.

 

И чем порнуха? Обоснуй плз - просто интересно.

Posted (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 by Alex/AT

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.