Я пытаюсь разместить небольшой веб-сервер из своей домашней сети; однако мне не удалось успешно перенести порты переадресации на локальный сервер. Моя текущая топология сети выглядит так:
Кабельный модем / маршрутизатор -> Дополнительный беспроводной маршрутизатор -> Многие компьютеры (включая сервер)
Я использую модем / маршрутизатор 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
E3000
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, но не могу просматривать веб-сайт. *
Вот и другие настройки:
/ и т.д. / хосты /
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
/ и т.д. / apache2 / сайты-доступные / по умолчанию фрагмент
<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>
Сообщите мне, если вам понадобится другая информация; некоторые вещи, вероятно, ускользнули из моей головы.
Как и в случае с другим ответом, я бы сделал это следующим образом:
DPC2100
WAN: 69.xxx.xxx.xxx Внутренний IP-адрес: 192.168.1.1 Внутренняя сеть: 192.168.1.0
E3000
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.
Том
Вам необходимо перенаправить все порты (или, по крайней мере, те, которые вы хотите передать на свой сервер) с общего порта на DPC2100 на E3000.
Но есть ли причина, по которой вам нужны ДВА уровня NAT? Если вы можете жить с E3000 как с «антенной» для вашей локальной сети, вы можете выключить его DHCP-сервер и подключить DPC к одному из его LAN-портов.
NAT = хлопот, а два уровня = больше хлопот ...