Переадресация портов не работает должным образом

Переадресация портов не работает должным образом

Я пытаюсь разместить небольшой веб-сервер из своей домашней сети; однако мне не удалось успешно перенаправить порты на локальный сервер. Моя текущая топология сети выглядит следующим образом:

Кабельный модем/маршрутизатор -> Вторичный беспроводной маршрутизатор -> Множество компьютеров (включая сервер)

Модем/маршрутизатор, который я использую, — это Cisco (Scientific Atlantic) DPC2100, предоставленный моим интернет-провайдером. Беспроводной маршрутизатор, который я использую в качестве центрального концентратора для моей домашней сети, — это Linksys E3000. Компьютер, используемый в качестве сервера, работает под управлением Ubuntu 10.04 Server Edition. Основная проблема в том, что я не могу получить удаленный доступ к серверу, используя мой WAN IP-адрес. Я перенаправил порты моего беспроводного маршрутизатора; однако я считаю, что мне нужно каким-то образом перевести мой модем в режим моста. Насколько я могу судить, это невозможно.

Вот различные настройки IP-адреса:

DPC2100

WAN: 69.xxx.xxx.xxx
Internal IP: 192.168.100.1
Internal Network: 192.168.7.0

Е3000

IP Address: 192.168.7.2
Gateway: 192.168.7.1
Internal IP: 192.168.1.1
Internal Network: 192.168.1.0

Сервер

IP Address: 192.168.1.123
Gateway: 192.168.1.1

Теперь я могу выполнить nmapна различных узлах, и вот результаты (с сервера):
nmap localhost: 22,25,53,80,110,139,143,445,631,993,995,3306,5432,8080 открыто
nmap 192.168.7.2: 22,25,80 (отфильтровано),110,139,445 открыто (порты, которые я перенаправил в E3000)*
nmap 69.xxx.xxx.xxx: 1720 открыто

**По какой-то причине я могу подключиться по SSH к серверу по адресу 192.168.7.2, но не могу просмотреть веб-сайт.*

Вот еще несколько настроек:

/etc/hosts/

127.0.0.1       localhost
127.0.1.1       servername
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

/etc/apache2/sites-available/defaultфрагмент

<VirtualHost *:80>
        DocumentRoot /srv/www/
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                ...
        </Directory>
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                ...
        </Directory>
        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        ...
    </Directory>
</VirtualHost>

Если вам понадобится какая-либо дополнительная информация, дайте мне знать; возможно, что-то вылетело из головы.

решение1

Вам необходимо перенаправить все порты (или, по крайней мере, те, которые вы хотите подключить к своему серверу) с публичного порта на DPC2100 на E3000.

Но есть ли причина, по которой вам нужны ДВА уровня NAT? Если вы можете жить с E3000, который просто является «антенной» для вашей локальной сети, вы можете отключить его DHCP-сервер и подключить DPC к одному из его портов LAN.

NAT = хлопоты, а два уровня = еще больше хлопот...

решение2

Подобно другому ответу, вот как я бы это сделал:

DPC2100

WAN: 69.xxx.xxx.xxx Внутренний IP: 192.168.1.1 Внутренняя сеть: 192.168.1.0

Е3000

WAN IP-адрес: Отключен Шлюз: 192.168.1.1 Внутренний IP: 192.168.1.2 Внутренняя сеть: 192.168.1.0

Сервер

IP-адрес: 192.168.1.123 Шлюз: 192.168.1.1

E3000 будет подключаться к DPC2100 через интерфейс LAN, вам также нужно отключить DHCP, и он по сути станет точкой доступа с 4-портовым коммутатором. Сделайте переадресацию портов на DPC2100.

Том

Связанный контент