只能在路由器级别访问 HTTPS 安全站点

只能在路由器级别访问 HTTPS 安全站点

我有一台华硕路由器正在运行DD-WRT v24-sp2 (03/25/13) giga。上周的某个时候,我无法通过标准 HTTP(端口 80)访问远程站点。端口 443 上的 HTTPS 可以正常工作。一个复杂的因素是我正在远程配置和故障排除 - 我夏天不在家,无法物理访问路由器。我正在通过 telnet 配置路由器,该 telnet 会话本身位于远程 SSH 会话中,进入我的服务器。我本应该已经重置了我的路由器,但我依靠克隆的 MAC 地址进行 WAN 连接,重置它会阻止我完全在外面连接。

我还应该指出,在我重新配置某些东西后,这个问题并没有出现——我几乎可以肯定这是一夜之间发生的事情。不过,也可能是我无意中做了一些事情。不确定那是什么。

以 root 身份登录后,直接在路由器终端上运行这些命令:

root@sharksterrirory:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: seq=0 ttl=59 time=5.613 ms
64 bytes from 8.8.8.8: seq=1 ttl=59 time=7.039 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 5.613/6.326/7.039 ms



root@sharksterrirory:~# ping google.com
PING google.com (216.58.217.206): 56 data bytes
64 bytes from 216.58.217.206: seq=0 ttl=56 time=4.763 ms
64 bytes from 216.58.217.206: seq=1 ttl=56 time=5.606 ms
^C
--- google.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 4.763/5.184/5.606 ms
root@sharksterrirory:~# 



root@sharksterrirory:~# wget http://google.com/
Connecting to google.com (172.217.5.206:80)
wget: can't connect to remote host (172.217.5.206): Connection timed out

这些命令以我的普通用户身份登录并在我的服务器上运行Ubuntu 16.04.2 LTS

taylor@nas:~ > curl http://google.com/
curl: (7) Failed to connect to google.com port 80: Connection timed out



taylor@nas:~ > curl https://google.com/
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="https://www.google.com/">here</A>.
</BODY></HTML>

我不太确定我应该在这里提供什么其他相关内容,但我相当有信心地说我的问题与 IPv6 或 DNS 无关,因为我的很多搜索都让我找到了答案。鉴于问题发生在路由器级别,我尝试查看转发设置以确保我没有对端口 80 进行任何异常操作,但禁用除端口 22 上的 SSH 之外的所有端口转发并没有解决任何问题。这是iptables -L我的路由器上的输出:

root@sharksterrirory:~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       tcp  --  anywhere             anywhere            tcp dpt:ssh 
DROP       tcp  --  anywhere             anywhere            tcp dpt:telnet 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             nas                 tcp dpt:32400 
ACCEPT     tcp  --  anywhere             sharksterrirory     tcp dpt:webcache 
lan2wan    0    --  anywhere             anywhere            
ACCEPT     0    --  anywhere             anywhere            state RELATED,ESTABLISHED 
TCPMSS     tcp  --  anywhere             anywhere            tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU 
ACCEPT     0    --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             nas                 tcp dpt:33919 
ACCEPT     udp  --  anywhere             nas                 udp dpt:33919 
ACCEPT     tcp  --  anywhere             nas                 tcp dpt:32400 
ACCEPT     tcp  --  anywhere             nas                 tcp dpt:ssh 
ACCEPT     udp  --  anywhere             nas                 udp dpt:ssh 
TRIGGER    0    --  anywhere             anywhere            TRIGGER type:in match:0 relate:0 
trigger_out  0    --  anywhere             anywhere            
ACCEPT     0    --  anywhere             anywhere            state NEW 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain advgrp_1 (0 references)
target     prot opt source               destination         

Chain advgrp_10 (0 references)
target     prot opt source               destination         

Chain advgrp_2 (0 references)
target     prot opt source               destination         

Chain advgrp_3 (0 references)
target     prot opt source               destination         

Chain advgrp_4 (0 references)
target     prot opt source               destination         

Chain advgrp_5 (0 references)
target     prot opt source               destination         

Chain advgrp_6 (0 references)
target     prot opt source               destination         

Chain advgrp_7 (0 references)
target     prot opt source               destination         

Chain advgrp_8 (0 references)
target     prot opt source               destination         

Chain advgrp_9 (0 references)
target     prot opt source               destination         

Chain grp_1 (0 references)
target     prot opt source               destination         

Chain grp_10 (0 references)
target     prot opt source               destination         

Chain grp_2 (0 references)
target     prot opt source               destination         

Chain grp_3 (0 references)
target     prot opt source               destination         

Chain grp_4 (0 references)
target     prot opt source               destination         

Chain grp_5 (0 references)
target     prot opt source               destination         

Chain grp_6 (0 references)
target     prot opt source               destination         

Chain grp_7 (0 references)
target     prot opt source               destination         

Chain grp_8 (0 references)
target     prot opt source               destination         

Chain grp_9 (0 references)
target     prot opt source               destination         

Chain lan2wan (1 references)
target     prot opt source               destination         

Chain logaccept (0 references)
target     prot opt source               destination         
ACCEPT     0    --  anywhere             anywhere            

Chain logdrop (0 references)
target     prot opt source               destination         
DROP       0    --  anywhere             anywhere            

Chain logreject (0 references)
target     prot opt source               destination         
REJECT     tcp  --  anywhere             anywhere            reject-with tcp-reset 

Chain trigger_out (1 references)
target     prot opt source               destination         

此外,我使用此启动脚本打开端口 8080,以便通过我的域进行远程 Web 界面访问。我可能可以将它们移到实际的端口转发规则中,但我还没有这样做。

iptables -t nat -I PREROUTING -p tcp --dport 8080 -j DNAT --to 192.168.1.1:8080
iptables -I FORWARD -p tcp -d 192.168.1.1 --dport 8080 -j ACCEPT

如果您有任何疑问或需要我提供任何其他信息,我将不胜感激。谢谢!

答案1

乍一看,我看不出您的防火墙配置中有任何可以实现您所描述的功能。您说的是在家中浏览网页,对吗?而不是在家中提供网页。那会有所不同。

连接超时可能表示某处的防火墙将数据包丢弃(而不是礼貌地拒绝它们)。

可能是您的上游有人(例如您的 ISP)阻止了您。您可能需要检查 spamhaus(或类似网站)以查看您的 IP 是否被列为垃圾邮件中继。

您可以 ping 和端口 443,这意味着 IP 层一切正常,所以它看起来像是防火墙问题。

希望这能有所帮助 -Dylan

答案2

Frontier 因未付款而“停用了我的服务”。我忘了支付账单,而他们所谓的“停用服务”就是禁用传入端口 80。要么是他们太懒,要么是因为他们无法轻易将光纤线路从他们的网络物理断开。

相关内容