Проброс портов vpn linux

Проброс портов через VPN в локальную сеть

Здравствуйте.
Не очень понимаю, как подступиться, новичок в *nix.

На даче стоит камера подключенная к роутеру, который выходит в интернет через сим-карту, для получения внешнего ip-адреса был куплен VPS и установлен Debian 9 и там поднят l2tp-сервер, к которому и подключается роутер huawei.

схема выглядит примерно так:
/internet/—-> xxx.xxx.xxx.xxx | VPS Debian 9 | 10.152.2.110.152.2.100 | router huawei | 10.168.8.1 10.168.8.20 | camera |

Как прописать проброс порта, например 222 на Debian VPS, чтобы при коннекте с интернета на внешний IP-адрес VPS сервера попадать на 222 порт Camera в локальной сети за роутером huawei? То есть, я чтобы я подключался к xxx.xxx.xxx.xxx:222 и попадал на 10.168.8.20:222
на роутере Huawei проброс портов сделан в соответствующей вкладке и работает.

L2TP сервер на VPS Debian я поднял, роутер Huawei к нему успешно подключается, вот так выглядят интерфейсы:

eth0: flags=4163 mtu 1500 inet ххх.ххх.ххх.ххх netmask 255.255.255.0 broadcast yyy.yyy.yyy.yyy inet6 fa60:6d80:72:3cc1::1 prefixlen 64 scopeid 0x0 inet6 fc60::450:48ef:fbe1:8661 prefixlen 64 scopeid 0x20 ether 05:55:55:55:55:55 txqueuelen 1000 (Ethernet) RX packets 1499987 bytes 194642545 (185.6 MiB) RX errors 0 dropped 14075 overruns 0 frame 0 TX packets 431797 bytes 117382087 (111.9 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1 (Local Loopback) RX packets 4 bytes 336 (336.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4 bytes 336 (336.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ppp0: flags=4305 mtu 1200 inet 10.152.2.1 netmask 255.255.255.255 destination 10.152.2.100 ppp txqueuelen 3 (Point-to-Point Protocol) RX packets 10621 bytes 923327 (901.6 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 10727 bytes 906912 (885.6 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 

Источник

Проброс портов VPN сервера на подключенных клиентов

Вроде простой вопрос, но не могу понять, как сделать проброс данных с внешнего IP VPN сервера на нужных, подключенных клиентов.

Например, адрес сервера 185.150.100.200, к этому серверу подключились VPN клиенты 10.0.0.2 и 10.0.0.3

Как направить TCP пакеты приходящие на адрес сервера по порту 2000 на первого клиента и пакеты на TCP порту 3000 на второго?

И как задать статические IP для VPN клиентов, если протокол IKEv2, на базе strongswan?

как сделать проброс данных с внешнего IP VPN сервера на нужных, подключенных клиентов

С помощью iptables и sysctl.

адрес сервера 185.150.100.200 . VPN клиенты 10.0.0.2 и 10.0.0.3

Как направить TCP пакеты приходящие на адрес сервера по порту 2000 на первого клиента и пакеты на TCP порту 3000 на второго?

На примере Debian (актуально для Ubuntu, а также для других систем-дистрибутивов, но с учетом различий систем-дистрибутитов могут потребоваться некоторые изменения в определенных командах):

Читайте также:  Selenium chromedriver java linux

1. Добавить в конец файла /etc/sysctl.conf следующую строку: net.ipv4.ip_forward=1 .

2. Сохранить измененный файл /etc/sysctl.conf.

3. Выполнить следующую команду: sysctl -p /etc/sysctl.conf .

4. Выполнить следующую команду: iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE (eth0 заменить на другое имя основного сетевого интерфейса VDS-сервера, у которого нужный публичный внешний статический IP-адрес — только если у вас имя данного сетевого интерфейса отличается от eth0).

5. Выполнить следующую команду: iptables -t nat -A PREROUTING -m tcp -p tcp -d 185.150.100.200 —dport 2000 -j DNAT —to-destination 10.0.0.2 .

6. Выполнить следующую команду: iptables -A INPUT -m state —state NEW -m tcp -p tcp —dport 2000 -j ACCEPT .

7. Выполнить следующую команду: iptables -t nat -A PREROUTING -m tcp -p tcp -d 185.150.100.200 —dport 3000 -j DNAT —to-destination 10.0.0.3 .

8. Выполнить следующую команду: iptables -A INPUT -m state —state NEW -m tcp -p tcp —dport 2000 -j ACCEPT .

9. Выполнить следующую команду: apt install iptables-persistent .

10. Выполнить следующую команду: systemctl enable netfilter-persistent.service .

11. Выполнить следующую команду: /sbin/iptables-save > /etc/iptables/rules.v4 .

И как задать статические IP для VPN клиентов, если протокол IKEv2, на базе strongswan?

Так же как и при использовании других протоколов — с помощью iptables и sysctl. Или с помощью конфигурационных файлов strongSwan — если речь не про публичные статические адреса, а про локальные.

andreboth ( 10.07.21 05:41:09 MSK )
Последнее исправление: andreboth 10.07.21 06:06:53 MSK (всего исправлений: 9)

Источник

Iptables — проброс порта через VPN сойденение в локальною сеть

Всем доброго времени суток! В общем. Появилась довольно странная и нестандартная задача ясного решения которой в интернете я не нашол. Есть локальная подсеть 10.0.190.0\24 в которой находится VM 10.0.190.235 у которой есть 2 дополнительных ip [.190.236, .190.237] и на которой установлен OpenConnect (аналог Cisco AnyConnect — короче VPN клиент) через него есть доступ к 3 серверам (10.1.2.25, 10.1.3.100, 10.1.3.110) по порту 3389(RDP). Задача состоит в том чтобы пробросить порты через клиентское VPN подключение в локальною подсеть 10.0.190.0\24 через машинку 10.0.190.235 таким образом, чтобы сервера (10.1.2.25, 10.1.3.100, 10.1.3.110) думали что все подключения исходят от выданного VPN сервером клиенту ip-адреса. щас попробую изобразить эту хрень схематически.

 VM:[enp0s3] 10.0.190.235:3389 | | [tun0] | < 10.1.2.25:3389 10.0.190.0\24 >:[enp0s3:0] 10.0.190.236:3389 |NAT| VPN - connection | < 10.1.3.100:3389 :[enp0s3:1] 10.0.190.237:3389 | | (dinamic ip) | < 10.1.3.110:3389 

довольно странная и нестандартная задача

По-моему это совершенно стандартная задача: SNAT/MASQUERADE+ip-forwarding

Читайте также:  Intel atom d425 linux

SNAT/MASQUERADE+ip-forwarding надо сделать в виртуалке, а на своей машине добавить маршурт в 10.1.2 и 10.1.3 через 10.0.190.235

Боюсь, вы меня неправильно поняли. Нужно сделать так чтобы Юзеры что находящиеся в подсети 10.0.190.0\24 Открыв «Подключение к удаленному рабочему столу» и подключившись к 10.0.190.235:3389 попадали скажем на сервер 10.1.2.25:3389 «Прозрачно!» - то есть без каких либо маршрутов на клиентских машинах через 10.0.190.235

Боюсь такая подмена может не работать ввиду встроенной в винду криптографии, которая обнаружит подмену. Если я не ошибаюсь.

Боюсь такая подмена может не работать ввиду встроенной в винду криптографии, которая обнаружит подмену. Если я не ошибаюсь.

Ничего такого это же просто проброс порта за NAT. разница лишь в том что не из локальной сети в интернет а из vpn-соединения в локальною сеть.

Маршрут-то зачем? DNAT
А в остальном все верно «SNAT/MASQUERADE+ip-forwarding»

Я бы тогда не стал сношаться с DNAT-ом, а просто запустил xinetd c redirect

и так далее для остальных

Я бы тогда не стал сношаться с DNAT-ом,

Одна строка, это конечно очень сложно.

Если я ничего не путаю, то главная проблема у тебя в том что твой 10.1.2.25:3389 пытается отвечать не в 10.0.190.0\24, а 10.0.190.235 И твоя 10.0.190.235 просто не знает что делать с ответным пакетом. Тебе и натить и маршрутизировать надо. У подсети где живет 10.1.2.25, 10.0.190.235 должен быть дефолт гетвеем. Хотя может я и чего не понял и ахинею несу.

Вообщем. На третий день я таки отчасти смог достичь нужного мне результата. Но только на половину. (работает только 1 интерфейс)

iptables -t nat -A PREROUTING -i enp0s3 -d 10.0.190.235 -p tcp --dport 3389 -j DNAT --to-destination 10.1.2.25:3389 iptables -A FORWARD -i enp0s3 -o tun0 -d 10.1.2.25 -p tcp --dport 3389 -j ACCEPT iptables -t nat -A POSTROUTING -o tun0 -d 10.1.2.25 -p tcp --dport 3389 -j MASQUERADE 

Когда я размножаю это правило для остальных интерфейсов сталкиваюсь с проблемой работают только те правила у которых основным интерфейсом указан enp0s3 а дополнительные ip-адреса(интерфейсы) не работают. почему так?

iptables -t nat -A PREROUTING -i enp0s3 -d 10.0.190.235 -p tcp --dport 3389 -j DNAT --to-destination 10.1.2.25:3389 iptables -t nat -A PREROUTING -i enp0s3:0 -d 10.0.190.236 -p tcp --dport 3389 -j DNAT --to-destination 10.1.3.100:3389 iptables -t nat -A PREROUTING -i enp0s3:1 -d 10.0.190.237 -p tcp --dport 3389 -j DNAT --to-destination 10.1.3.110:3389 iptables -A FORWARD -i enp0s3 -o tun0 -d 10.1.2.25 -p tcp --dport 3389 -j ACCEPT iptables -A FORWARD -i enp0s3:0 -o tun0 -d 10.1.3.100 -p tcp --dport 3389 -j ACCEPT iptables -A FORWARD -i enp0s3:1 -o tun0 -d 10.1.3.110 -p tcp --dport 3389 -j ACCEPT iptables -t nat -A POSTROUTING -o tun0 -d 10.1.2.25 -p tcp --dport 3389 -j MASQUERADE iptables -t nat -A POSTROUTING -o tun0 -d 10.1.3.100 -p tcp --dport 3389 -j MASQUERADE iptables -t nat -A POSTROUTING -o tun0 -d 10.1.3.110 -p tcp --dport 3389 -j MASQUERADE 

Я так понял, я создал некий аналог multi-wan с несколькими ip. что мне сделать, чтобы трафик шел через дополнительные ip-адреса тоже? а не только через основной.

Читайте также:  Просмотр ком портов linux

enp0s3:0 это не интерфейс а алиас. iptables не работает с алиасами, интерфейс у вас enp0s3 вот его и прописывайте, типа:
iptables -t nat -A PREROUTING -i enp0s3 -d 10.0.190.236 -p tcp --dport 3389 -j DNAT --to-destination 10.1.3.100:3389
iptables -t nat -A PREROUTING -i enp0s3 -d 10.0.190.237 -p tcp --dport 3389 -j DNAT --to-destination 10.1.3.110:3389
и т.д.

enp0s3:0 это не интерфейс а алиас. iptables не работает с алиасами, интерфейс у вас enp0s3 вот его и прописывайте

Хах. неожыданно. Большое спасибо помогло!

Скорее вполне ожидаемо. Алиасы это уже скорее устаревшее понятие, было во времена ifconfig, iproute2 обходиться без этих названий, т.е. просто навешиваем доп. адреса на тот же интерфейс.
А iptables (не только он один, тот же tcpdump) в параметрах использует физ. интерфейсы, поэтому и не работало. Вобчем ваша ошибка скорее историческая. 🙂 воспринимать алиас как реальный интерфейс. Набирают что-то типа ifconfig eth0:5 down и удивляются почему все рухнуло 🙂

Похожие темы

  • Форум Банальный проброс портов (2012)
  • Форум Centos iptables (2018)
  • Форум Помогите с IPTABLES 1.4.8 + SQUID3 (2014)
  • Форум IPTABLES проброс портов через VPN (2019)
  • Форум iptables проброс портов (2015)
  • Форум iptables проброс порта (2020)
  • Форум iptables проброс портов (2013)
  • Форум Проброс портов через VPN в локальную сеть (2018)
  • Форум не могу настроить openvpn, клиент не видит локальной сети за vpn сервером (2012)
  • Форум [IPTABLES]Проброс порта (2011)

Источник

Оцените статью
Adblock
detector