Довольно банальная ситуация — у вас нет возможности подключить проводной интернет с белым ip от нормального провайдера и приходится довольствоваться  4G от мобильных операторов. А выделенный ip очень нужен.

Это можно легко исправить. Допустим, у вас на работе белый ip и им никто не пользуется. При этом есть возможность поставить машину с linux на 24/7. Или же вы арендуете свой vps сервер. Главное чтобы был постоянный ip.

Я буду производить все манипуляции с системой на Ubuntu 16.04, которая выходит в интернет со своим собственным выделенным ip адресом. Домашняя сеть же крутится на роутере Keenetic Extra 2. Все действия заключаются в следующем: на сервере ставим OpenVPN, на роутере подключаемся к  нему, перенаправляем порты на сервере, открываем порты на роутере. И все запросы будут проходить через сервер со статическим ip в нашу домашнюю сеть

Начнем.

У вас должен быть установлен Open VPN на Ubuntu 16.04, у меня есть на этот случай отдельная, очень простая инструкция

 

Теперь нужно подключить к vpn наш роутер.

В моем Keenetic Extra II это делается очень легко:

Переходим в Другие подключения

 

и сознаем новое, тип — OpenVPN:

Со всеми галочками, как на скриншоте.

Поле Конфигурация OpenVPN заполняем содержимым файла *.ovpn, сформированного на Ubuntu 16.04. 

У меня кинетик не хотел подключаться к vpn, ругаясь в логе на 14 строку setenv opt block-outside-dns

Я ее удалил, кинетик подключился.

 

Теперь нужно настроить перенаправление портов на сервере в нашу домашнюю сеть.

Узнаем имеющиеся сетевые подключения командой:

ifconfig -a 

нам нужно найти сетевой интерфейс с нашим белым ip:

В данном случае это eth0

и найти сетевой интерфейс vpn:

В данном случае это tun0

Теперь создадим сетевые правила для перенаправления из eth0 в tun0:

iptables -t nat -A PREROUTING --dst 10.200.300.40 -p tcp --dport 443 -j DNAT --to-destination 10.2.0.3
iptables -I FORWARD 1 -i eth0 -o tun0 -d 10.2.0.3 -p tcp -m tcp --dport 443 -j ACCEPT

где 10.200.300.40 это ваш выделенный общедоступный ip, 10.2.0.3 это ip в сети vpn, выданный роутеру в файле *.ovpn, а 443 это порт, который мы перенаправляем.

 

Чтобы правила выполнялись и после перезагрузки сервера, отредактируем файл /etc/rc.local:

sudo nano /etc/rc.local

И добавим:

#!/bin/sh
iptables -t nat -A PREROUTING --dst 10.200.300.40 -p tcp --dport 443 -j DNAT --to-destination 10.2.0.3 iptables -I FORWARD 1 -i eth0 -o tun0 -d 10.2.0.3 -p tcp -m tcp --dport 443 -j ACCEPT

 

В автозапуск добавили, теперь откроем нужный порт на домашнем роутере.

В keenetic extra 2 переходим в Переадресация и добавляем правило:

Где вход это наше подключение vpn, а выход, это ваше устройство в домашней сети, куда нужно получить доступ. Ну и порты, естественно.

Вот и все, у нас есть постоянный ip адрес для доступа из интернета в домашнюю сеть

Оставить комментарий

avatar

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

  Подписаться  
Уведомление о