Форум русскоязычного сообщества Ubuntu


Автор Тема: Проброс портов в Ubuntu Server 14.04  (Прочитано 1439 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн michey25

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Проброс портов в Ubuntu Server 14.04
« : 18 Ноябрь 2016, 14:36:49 »
Вначале предыстория. Сижу в интернете за провайдерским NAT-ом. В Домашней сети есть небольшой "самопальный" NAS сервер, на ubuntu 14.04. Захотелось мне достучаться к серверу извне. Т.к. провайдер предоставлял белый ип за довольно большую цену, решено было арендовать vps и настроить vpn-тунель. Что и сделал по инструкции https://habrahabr.ru/post/216101/. Все на удивление быстро завелось, только с учетом того что openvpn я поставил не на роутере а на моем сервачке.
Но  теперь мне захотелось получить доступ к другим машинам в домашней сети. залез в /etc/rc.local наваял там вот это
iptables -t nat -A PREROUTING -d 192.168.0.20 -p tcp --dport 666 -j DNAT --to-dest 192.168.0.1:80
iptables -t nat -A POSTROUTING -d 192.168.0.1 -p tcp --dport 80 -j SNAT --to-source  10.9.8.2
где 192.168.0.20 - ип сервера, 192.168.0.1 - ип роутера(решил протестить доступ на его вебморде), 10.9.8.2 - ип вирт. сетевого адаптера.
По итогам так и не достучался до вебморды роутера.
Вот что в /etc/rc.local :
iptables -t nat -A PREROUTING -d 192.168.0.20 -p tcp --dport 666 -j DNAT --to-dest 192.168.0.1:80
iptables -t nat -A POSTROUTING -d 192.168.0.1 -p tcp --dport 80 -j SNAT --to-source  10.9.8.2

iptables -I INPUT -i tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -j ACCEPT
iptables -I OUTPUT -o tun0 -j ACCEPT
iptables -I FORWARD -o tun0 -j ACCEPT

exit 0
Профессионалов прошу сильно не ругаться, т.к. я не админ и в настройках маршрутизации не шарю.
« Последнее редактирование: 18 Ноябрь 2016, 14:41:47 от michey25 »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26078
    • Просмотр профиля
Re: Проброс портов в Ubuntu Server 14.04
« Ответ #1 : 18 Ноябрь 2016, 15:04:12 »
Аренда VPS - $5/mo
Аренда белого ИП у провайдера - $3/mo… ну, $5 от силы…
Оно того стоит?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн michey25

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: Проброс портов в Ubuntu Server 14.04
« Ответ #2 : 18 Ноябрь 2016, 15:25:29 »
vps за 99 росс. руб. арендую, а наш провайдер почти по 10 баксов толкает белые ип, плюс ехать заявление писать (это Беларусь детка©) :)
« Последнее редактирование: 18 Ноябрь 2016, 16:32:05 от michey25 »

alexxnight

  • Гость
Re: Проброс портов в Ubuntu Server 14.04
« Ответ #3 : 21 Ноябрь 2016, 12:46:12 »
Вот я ничего не понял:
был сервер дома, купить "белый" ip дорого, арендовали vps, сервер теперь где?
между чем и чем Вы настроили openvpn?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26078
    • Просмотр профиля
Re: Проброс портов в Ubuntu Server 14.04
« Ответ #4 : 21 Ноябрь 2016, 15:04:43 »
Сервер дома… IP на VPS. Из Ростова в Тамбов через Красную Площадь. Да.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн michey25

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: Проброс портов в Ubuntu Server 14.04
« Ответ #5 : 21 Ноябрь 2016, 15:56:45 »
впн между vps и домашним сервером. Вводя ипсервера:666 (в данном случае) хочу попасть на вебморду роутера. На vps 666 порт уже проброшен на домашний сервер.
вот что а ifcofig
ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:22:4d:48:ff:8c
          inet addr:192.168.0.20  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::222:4dff:fe48:ff8c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:91808420 errors:0 dropped:0 overruns:0 frame:0
          TX packets:138530931 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:85262824368 (85.2 GB)  TX bytes:109313002673 (109.3 GB)
          Interrupt:17

lo        Link encap:Локальная петля (Loopback)
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:40951863 errors:0 dropped:0 overruns:0 frame:0
          TX packets:40951863 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:9932122026 (9.9 GB)  TX bytes:9932122026 (9.9 GB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.9.8.2  P-t-P:10.9.8.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:257887 errors:0 dropped:0 overruns:0 frame:0
          TX packets:431497 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:15114059 (15.1 MB)  TX bytes:602326823 (602.3 MB)

вот что в iptables
:PREROUTING ACCEPT [583922:173798587]
:INPUT ACCEPT [576498:173202902]
:OUTPUT ACCEPT [5078435:325193085]
:POSTROUTING ACCEPT [5078435:325193085]
-A PREROUTING -d 192.168.0.20/32 -p tcp -m tcp --dport 666 -j DNAT --to-destination 192.168.0.1:80
-A POSTROUTING -d 192.168.0.1/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 10.9.8.2

скорее всего в последних двух строках я намудрил
« Последнее редактирование: 21 Ноябрь 2016, 16:03:11 от michey25 »

alexxnight

  • Гость
Re: Проброс портов в Ubuntu Server 14.04
« Ответ #6 : 21 Ноябрь 2016, 16:28:36 »
Если я правильно понимаю, то Вам нужно, находясь вне локальной сети, открыв браузер, набрав [ip-vps]:[666], попасть на веб страничку роутера.

На vps нужно сделать DNAT от белого ip на ip адрес openvpn клиента
На openvpn клиенте сделать DNAT от ip openvpn клиента до локального адреса роутера

Обратный трафик "подхватится" при условии ACCEPT цепочки FORWARD таблицы filter на vps и openvpn клиенте и sysctl -w net.ipv4.ip_forward=1

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26078
    • Просмотр профиля
Re: Проброс портов в Ubuntu Server 14.04
« Ответ #7 : 21 Ноябрь 2016, 16:37:02 »
хочу попасть на вебморду роутера.
Цитировать
порт уже проброшен на домашний сервер.
Ы?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

alexxnight

  • Гость
Re: Проброс портов в Ubuntu Server 14.04
« Ответ #8 : 21 Ноябрь 2016, 16:53:31 »
Вот Вам и "Ы"...
Поди разберись, как у него сеть устроена и что он хочет получить...
Рисунок сети не мешало бы и четкую логику работы также хотелось бы услышать.
А так, сплошные догадки.

Оффлайн michey25

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: Проброс портов в Ubuntu Server 14.04
« Ответ #9 : 21 Ноябрь 2016, 17:18:39 »
На vps:
iptables-save
# Generated by iptables-save v1.4.21 on Mon Nov 21 17:02:57 2016
*nat
:PREROUTING ACCEPT [10134356:421670504]
:INPUT ACCEPT [470495:33528277]
:OUTPUT ACCEPT [400909:30268463]
:POSTROUTING ACCEPT [400909:30268463]
-A PREROUTING -d [внешний ип сервера]/32 -p tcp -m tcp --dport 30 -j DNAT --to-destination 192.168.0.20:22
-A PREROUTING -d [внешний ип сервера]/32 -p tcp -m tcp --dport 31:65535 -j DNAT --to-destination 192.168.0.20:31-65535
-A POSTROUTING -d 192.168.0.20/32 -p tcp -m tcp --dport 22 -j SNAT --to-source 10.9.8.1
-A POSTROUTING -d 192.168.0.20/32 -p tcp -m tcp --dport 31:65535 -j SNAT --to-source 10.9.8.1
ifconfig -a
eth0      Link encap:Ethernet  HWaddr 52:54:00:5d:b6:2f
          inet addr:[внешний ип сервера]  Bcast:[внешний ип сервера].255  Mask:255.255.255.0
          inet6 addr: fe80::5054:ff:fe5d:b62f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:928134876 errors:0 dropped:5 overruns:0 frame:0
          TX packets:43568438 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:91356028431 (91.3 GB)  TX bytes:32901533588 (32.9 GB)

lo        Link encap:Локальная петля (Loopback)
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.9.8.1  P-t-P:10.9.8.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:22870247 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14736844 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:29223211784 (29.2 GB)  TX bytes:940862407 (940.8 MB)

На домашнем сервере:
:iptables-save
PREROUTING ACCEPT [583922:173798587]
:INPUT ACCEPT [576498:173202902]
:OUTPUT ACCEPT [5078435:325193085]
:POSTROUTING ACCEPT [5078435:325193085]
-A PREROUTING -d 192.168.0.20/32 -p tcp -m tcp --dport 666 -j DNAT --to-destination 192.168.0.1:80
-A POSTROUTING -d 192.168.0.1/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 10.9.8.2
ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:22:4d:48:ff:8c
          inet addr:192.168.0.20  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::222:4dff:fe48:ff8c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:91808420 errors:0 dropped:0 overruns:0 frame:0
          TX packets:138530931 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:85262824368 (85.2 GB)  TX bytes:109313002673 (109.3 GB)
          Interrupt:17

lo        Link encap:Локальная петля (Loopback)
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:40951863 errors:0 dropped:0 overruns:0 frame:0
          TX packets:40951863 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:9932122026 (9.9 GB)  TX bytes:9932122026 (9.9 GB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.9.8.2  P-t-P:10.9.8.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:257887 errors:0 dropped:0 overruns:0 frame:0
          TX packets:431497 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:15114059 (15.1 MB)  TX bytes:602326823 (602.3 MB)

роутер != домашний сервер

через [внешний ип сервера]:30 норм захожу на ssh на домашнем сервере, как и на другие сервисы типа трансмишна на 9091. вот хочу перенаправить 666 порт с домашнего сервера на другую машину в сети (в данном случае - роутер). VPN-туннель между vps и домашним сервером, роутер с vps-a не пингуется.
net.ipv4.ip_forward=1
это сделано.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26078
    • Просмотр профиля
Re: Проброс портов в Ubuntu Server 14.04
« Ответ #10 : 21 Ноябрь 2016, 17:31:25 »
Когда вы установили VPN линк (серер(?)-VPS), ваш VPS, сервер и роутер находятся (должны находиться) в одной сети. Либо в смежных, доступных по прямой адресации.
Не вижу проблемы, честно.
При том, что VPN вертится на сервере, не вижу проблемы остановить НОВЫЙ VPN линк оттуда, где вы хотите получить доступ к роутеру, и общаться с роутером по его ВНУТРЕННЕМУ адресу. А не выставлять админку роутера голой жопой в интернет.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн michey25

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: Проброс портов в Ubuntu Server 14.04
« Ответ #11 : 21 Ноябрь 2016, 17:37:08 »
А не выставлять админку роутера голой жопой в интернет.
так этого и не собираюсь делать, на этом просто хочу протестировать маршрутизацию, потом пробросить какой-нибуть из портов на RDP компа в сети.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 26078
    • Просмотр профиля
Re: Проброс портов в Ubuntu Server 14.04
« Ответ #12 : 21 Ноябрь 2016, 17:48:05 »
Зачем вообще пробрасывать?… Есть же VPN.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

alexxnight

  • Гость
Re: Проброс портов в Ubuntu Server 14.04
« Ответ #13 : 21 Ноябрь 2016, 19:37:03 »
Потрудитесь нарисовать схему, там будет проще все объяснить

Оффлайн michey25

  • Автор темы
  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: Проброс портов в Ubuntu Server 14.04
« Ответ #14 : 22 Ноябрь 2016, 17:40:30 »
Набросал схемку. https://yadi.sk/i/3PDt6g4LzEEix
« Последнее редактирование: 22 Ноябрь 2016, 17:42:40 от michey25 »

 

Страница сгенерирована за 0.066 секунд. Запросов: 24.