Вопрос Проблема с доступом к WAN


я был в отчаянии пытаясь настроить мою систему как внешне доступную машину за последние 4 дня без везения. Должен сказать, что это было замечательное путешествие, много узнал о сети Linux, но у меня есть проблема с выходом моей машины из Интернета. Я стараюсь детализировать все для лучшего понимания.

Системный пейзаж: 

  • два старых ноутбука ThinkPad-T60,
  • два ключа USB Wi-Fi 3G (поставщик услуг: Three.co.uk),
  • ОС: Ubuntu quantal 12.10
  • нет маршрутизатора, модема или любого другого устройства

Я пытаюсь добиться следующего:

Настройка ноутбука как веб-сервера, доступного для внешнего доступа, на котором работает apache2, прослушивая порт 80, как обычно. Хост-машина подключена к Интернету через 3G-ключ. Никакое другое устройство на своем пути, внешний маршрутизатор и т. Д.

Я уже делал следующее: 

Начну с чистой установки Ubuntu, чтобы убедиться. Установлены apache2 и php5. Установлен модуль noip2.

РЕЗЮМЕ

Apache2 работает отлично. Я могу загрузить невыформатированный сайт по умолчанию из браузера, ссылаясь на localhost.

Я зарегистрировался на базовой учетной записи no-ip.com (динамическая служба DNS) и установил ее программное обеспечение, которое позволяет обновлять свой сервер с моим динамическим IP-адресом. Протестировано и проверено дважды, его работа прекрасна.

Я почти уверен, я должен «играть» с iptables, поэтому я прошел через множество учебников и документации, чтобы лучше понять. Поскольку машина недоступна из-за внешней сети, я полагаю, что я не делаю что-то совершенно правильное.

Некоторые необходимые результаты

$ Ifconfig

eth0      Link encap:Ethernet  HWaddr 00:1a:6b:35:c0:92  
          UP BROADCAST MULTICAST  MTU:1500  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:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:16 Memory:ee000000-ee020000 

eth1      Link encap:Ethernet  HWaddr 58:2c:80:13:92:63  
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::5a2c:80ff:fe13:9263/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:119918 errors:0 dropped:0 overruns:0 frame:0
          TX packets:103007 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:110091536 (110.0 MB)  TX bytes:13204658 (13.2 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:27915 errors:0 dropped:0 overruns:0 frame:0
          TX packets:27915 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2253626 (2.2 MB)  TX bytes:2253626 (2.2 MB)

wlan0     Link encap:Ethernet  HWaddr 00:1b:77:03:f0:97  
          UP BROADCAST MULTICAST  MTU:1500  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:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http state NEW,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http-alt state NEW,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:8888 state NEW,ESTABLISHED

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

IP TABLES CONFIG из сценария bash, который я написал, выполнен как -> ./basicfw.sh eth1

#!/bin/bash

# Delete everything
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -Z

iptables -F INPUT
iptables -P INPUT ACCEPT
iptables -F OUTPUT
iptables -P OUTPUT ACCEPT
iptables -F FORWARD
iptables -P FORWARD ACCEPT

iptables -A INPUT -i $1 -p tcp -m tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i $1 -p tcp -m tcp --dport 8080 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i $1 -p tcp -m tcp --dport 8888 -m state --state NEW,ESTABLISHED -j ACCEPT

netstat -anl | grep LISTEN

tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:8888            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
tcp6       0      0 :::8888                 :::*                    LISTEN     

птар ***.Но-ip.org

Starting Nmap 6.01 ( http://nmap.org ) at 2012-11-13 10:57 Central Europe Standard Time
Nmap scan report for 92.41.31.247.threembb.co.uk (92.41.31.247)
Host is up (0.11s latency).
Not shown: 99 filtered ports
PORT STATE SERVICE
113/tcp closed ident
Nmap done: 1 IP address (1 host up) scanned in 3.70 seconds

Поскольку вы видите, что настройка довольно хромая, я только что занялся этим вопросом. Я предполагаю, что мне не нужно направить eth1 на любой другой inerface, потому что я думаю, что это тот, где трафик вводится по данному адресу.

Я хотел бы услышать какое-либо зрелое мнение о возможной работе по созданию WAN-соединения с этой машиной. 

Интернет-провайдер может заблокировать порт 80, поэтому я попытался изменить настройку на 8080 и перенаправил из службы no-ip.com dns. Открыл 8080 на iptables, правильно перенастроил apache2 и его еще не удалось.

Я не хочу использовать это решение для любого случая использования в реальной жизни, просто попробуйте заставить его работать. Это хорошая кривая обучения.

Заранее спасибо, Пит**


3
2017-11-13 10:07


происхождения




ответы:


С вашего вывода, похоже, что единственным интерфейсом, который имеет IP-адрес, является eth1 - 192.168.1.100. Это частный (rfc1918) IP-адрес, с которым вы не сможете связаться напрямую из Интернета.

Как NoIP понимает, что ваш общедоступный динамический IP-адрес равен 92.41.31.247? Я не использовал службы three.co.uk, поэтому я не уверен, что делает этот ключ. Я предполагаю, что клиент NoIP подключается с вашего компьютера к веб-сайту NoIP и рассматривается как этот общедоступный IP-адрес, но вы не показали нам, как вы действительно подключаетесь к Интернету еще :)

Как выглядит ваша таблица маршрутизации? Посмотрите на вывод ip r и список всех интерфейсов, сконфигурированных с IP-адресом, с ip a,

Ваш брандмауэр iptables в текущем состоянии ничего не делает, поскольку вы устанавливаете политику по умолчанию всей цепочки на «ACCEPT».

Я могу помочь вам настроить его позже, но сначала вам нужно разобраться в связности.


0
2017-11-24 00:56



Привет, Мартин, Большое спасибо за ваш добрый ответ. К счастью, проблема решена. Главной проблемой был тот факт, что я был за NAT провайдером. Three.co.uk фильтрует все, что входит. Решение заключалось в использовании обратного прокси-решения с сторонним настроенным сервером, таким как pagekite.com! Я опубликую больше технических подробностей об этом решении, чтобы воспользоваться другими. Если вы не слышали об этом решении, которое стоит проверить, увлекательный материал. - Peter G.
Я рад, что вы поняли это - я думал, что это может быть связано с NAT, но не был уверен. Удачи! - Marcin Kaminski