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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Как пробросить порт с PPPOE интерфейса  (Прочитано 5803 раз)

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

Оффлайн Corporal

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Есть 2 физических интерфейса enp0s8, enp1s8
с enp0s8 собсно соединяемся с PPPOE и раздаем инет на enp1s8.
На enp1s8 машина разворачивает свою сеть и раздает уже в другую.

enp1s8 > 192.168.0.1
2ая машина > 192.168.0.3
Сеть от 2ой > 192.168.1.0/24
Web Server > 192.168.1.104:80

Нужно пробросить 80 порт с PPPOE на веб сервер, но чтот ни как не получается..
Пробую бросить порт на 2ую машину:
sudo iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.3:80
Через онлайн чекер стал показывать порт открытым, а вот если попробовать зайти на сайт, получаю ошибку ERR_CONNECTION_REFUSED (такую же получаю, когда порт закрыт)

xen@2low-srv1:~$ sudo iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  anywhere             anywhere             tcp dpt:80 to:192.168.0.3:80

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  192.168.0.0/24      !192.168.0.0/24

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Как пробросить порт с PPPOE интерфейса
« Ответ #1 : 21 Апреля 2016, 15:10:45 »
Правило форварда правильное (почти), но в сетях по одной ноте мелодию не угадывают.
Давайте более развёрнутую инфу и диагностику  с каждого шлюза
ip a; ip r
sudo iptables-save

Оффлайн Corporal

  • Автор темы
  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: Как пробросить порт с PPPOE интерфейса
« Ответ #2 : 21 Апреля 2016, 15:26:51 »
Правило форварда правильное (почти), но в сетях по одной ноте мелодию не угадывают.
Давайте более развёрнутую инфу и диагностику  с каждого шлюза
ip a; ip r
sudo iptables-save
xen@2low-srv1:~$ sudo iptables-save
# Generated by iptables-save v1.4.21 on Thu Apr 21 15:16:29 2016
*mangle
:PREROUTING ACCEPT [10409450:8880073242]
:INPUT ACCEPT [286392:62235990]
:FORWARD ACCEPT [10115298:8817407641]
:OUTPUT ACCEPT [244991:30783491]
:POSTROUTING ACCEPT [10360286:8848190868]
-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:65495 -j TCPMSS --clamp-mss-to-pmtu
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Thu Apr 21 15:16:29 2016
# Generated by iptables-save v1.4.21 on Thu Apr 21 15:16:29 2016
*filter
:INPUT ACCEPT [17256:2914686]
:FORWARD ACCEPT [487759:353352984]
:OUTPUT ACCEPT [14602:1834271]
:f2b-default - [0:0]
-A INPUT -p tcp -j f2b-default
-A INPUT -p tcp -j f2b-default
-A INPUT -p tcp -j f2b-default
-A INPUT -p tcp -j f2b-default
-A INPUT -p tcp -j f2b-default
-A INPUT -p tcp -j f2b-default
-A INPUT -p tcp -j f2b-default
-A INPUT -p tcp -j f2b-default
-A INPUT -p tcp -j f2b-default
-A INPUT -p tcp -j f2b-default
-A INPUT -p tcp -j f2b-default
-A INPUT -p tcp -j f2b-default
# куча забаненых fail2ban'ом
-A f2b-default -j RETURN
-A f2b-default -j RETURN
-A f2b-default -j RETURN
-A f2b-default -j RETURN
-A f2b-default -j RETURN
-A f2b-default -j RETURN
-A f2b-default -j RETURN
-A f2b-default -j RETURN
-A f2b-default -j RETURN
-A f2b-default -j RETURN
-A f2b-default -j RETURN
-A f2b-default -j RETURN
COMMIT
# Completed on Thu Apr 21 15:16:29 2016
# Generated by iptables-save v1.4.21 on Thu Apr 21 15:16:29 2016
*nat
:PREROUTING ACCEPT [145:11580]
:INPUT ACCEPT [68:5467]
:OUTPUT ACCEPT [6:415]
:POSTROUTING ACCEPT [6:415]
-A PREROUTING -i ppp0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.3:80
-A POSTROUTING -s 192.168.0.0/24 ! -d 192.168.0.0/24 -j MASQUERADE
COMMIT
# Completed on Thu Apr 21 15:16:29 2016

xen@2low-srv1:~$ sudo ip a; ip r
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp1s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:e0:50:f1:01:f5 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.1/24 brd 192.168.0.255 scope global enp1s8
       valid_lft forever preferred_lft forever
    inet6 fe80::2e0:50ff:fef1:1f5/64 scope link
       valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:1e:8c:e7:52:34 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::21e:8cff:fee7:5234/64 scope link
       valid_lft forever preferred_lft forever
5: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qdisc pfifo_fast state UNKNOWN group default qlen 3
    link/ppp
    inet 85.236.190.202 peer 109.124.192.1/32 scope global ppp0
       valid_lft forever preferred_lft forever
default dev ppp0  scope link
# куча забаненых
109.124.192.1 dev ppp0  proto kernel  scope link  src 85.236.190.202
192.168.0.0/24 dev enp1s8  proto kernel  scope link  src 192.168.0.1
unreachable 192.168.0.2  scope host # (lol what?)

Понравилось правило unreachable 192.168.0.2  scope host
Не пойму как оно сюда попало и как его отсюда убрать. Как раз по этой причине 2ая машина на .3  :(

2ая машина сейчас не под рукой но она 100% настроена правильно.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Как пробросить порт с PPPOE интерфейса
« Ответ #3 : 21 Апреля 2016, 16:59:21 »
Понравилось правило unreachable 192.168.0.2  scope host
ip route del unreachable 192.168.0.2/32
Пользователь добавил сообщение 22 Апреля 2016, 08:16:19:
Да, наверное всё-таки проблемы маскарадинга. Я изначально на него подумал, но решил перепроверить.
Смотрите.
Пакет, вылетая с web-сервера, имеет source-address 192.168.1.104 и, скорее всего, попадает на 1-ый шлюз без изменений. Соответственно, это поле не попадает под правило маскарадинга
-t nat -A POSTROUTING -s 192.168.0.0/24 ! -d 192.168.0.0/24 -j MASQUERADE
Для проверки попробуйте добавить правило
sudo iptables -t nat -A POSTROUTING -o ppp+ -j MASQUERADE
Да и вообще обычно маскарадится интерфейс, а не сеть, как у Вас ...

Если не поможет, тогда ждём диагностику второго шлюза (и желательно web-сервера).
« Последнее редактирование: 22 Апреля 2016, 08:16:19 от fisher74 »

Оффлайн Jalishnn

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: Как пробросить порт с PPPOE интерфейса
« Ответ #4 : 18 Мая 2016, 08:11:48 »
Вашем случае , вероятно, мать вашего ноутбука, не хочет дружить с этими планками. Обычно производитель пишет в рекомендациях то, что проверено. Но могут и другие планки работать... Скорее всего Вам не повезло. Если проблема не в этом, то тогда изначально задумайтесь и постарайтесь вспомнить, что произошло перед этим, и как он использовался. Если на нем долго играли, то скорей всего перегрелась видеокарта, другие части на материнской плате. Тогда необходима помощь опытного специалиста. Если и это не помогло, то на сайте http://pc-helpp.com/145-ne-vklyuchaetsya-noutbuk-poisk-i-reshenie-problemy.html , попробуйте посмотреть, возможно, там вы найдете решение этой проблемы.   

Оффлайн Doctor_y

  • Новичок
  • *
  • Сообщений: 34
    • Просмотр профиля
Re: Как пробросить порт с PPPOE интерфейса
« Ответ #5 : 19 Мая 2016, 14:13:53 »
sudo iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.3:80
Добавь:
sudo iptables -A FORWARD -i имя внешнего интерфейса на котором ppp0 -d 192.168.0.3 -p tcp --dport 80 -j ACCERT

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28360
    • Просмотр профиля
Re: Как пробросить порт с PPPOE интерфейса
« Ответ #6 : 19 Мая 2016, 15:21:03 »
-A FORWARD -m conntrack --ctstate DNAT -j ACCEPT
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

 

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