
我正在嘗試從我的家庭網站託管一個小型網站伺服器;但是,我無法成功將連接埠轉送到本機伺服器。我目前的網路拓撲如下所示:
電纜數據機/路由器 -> 輔助無線路由器 -> 許多電腦(包括伺服器)
我使用的數據機/路由器是 Cisco (Scientific Atlantic) DPC2100,由我的 ISP 提供。我用作家庭網路中央集線器的無線路由器是 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 open
nmap 192.168.7.2
: 22,25,80 (filter,5432,8080 open : 22,25,80 (filter3, Iports) 已在 Iports39,45,139, Iport) E3000轉發)*
nmap 69.xxx.xxx.xxx
:1720開
**由於某種原因,我可以透過 SSH 連接到 192.168.7.2 的伺服器,但無法查看該網站。
這裡還有一些其他設定:
/etc/主機/
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
廣域網路: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將透過LAN介面連接到DPC2100,您還需要停用DHCP,它基本上會成為一個具有4埠交換器的存取點。在 DPC2100 上進行連接埠轉送。
湯姆