Mam uruchomiony router ASUS DD-WRT v24-sp2 (03/25/13) giga
. Kiedyś w ostatnim tygodniu nie byłem w stanie uzyskać dostępu do zdalnych stron przez standardowy HTTP (port 80). HTTPS na porcie 443 działa bez problemów. Czynnikiem komplikującym jest to, że konfiguruję i rozwiązuję problemy zdalnie - latem jestem poza domem i nie mam fizycznego dostępu do routera. Konfiguruję router przez telnet, samą sesję telnet w ramach zdalnej sesji SSH na moim serwerze. Zresetowałbym już router, ale polegam na sklonowanym adresie MAC dla połączenia WAN, a zresetowanie uniemożliwiłoby mi całkowite odejście od domu.
Powinienem również zauważyć, że ten problem nie pojawił się po ponownej konfiguracji - jestem prawie pewien, że stało się to z dnia na dzień. Możliwe jednak, że zrobiłem coś nieumyślnie. Nie jestem pewien, co to mogło być.
Te polecenia są uruchamiane zalogowane jako root bezpośrednio na terminalu routera:
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
Te polecenia są uruchamiane zalogowane jako mój normalny użytkownik na uruchomionym serwerze 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>
Nie jestem do końca pewien, jakie inne istotne rzeczy powinienem tutaj podawać, ale jestem dość pewny, mówiąc, że mój problem nie jest związany z IPv6 lub DNS, ponieważ wiele moich poszukiwań doprowadziło mnie do tego. Biorąc pod uwagę, że problem występuje na poziomie routera, próbowałem pogodzić się z ustawieniami przekazywania, aby upewnić się, że nie robię nic dziwnego z portem 80, ale wyłączenie wszystkich przekierowań portów z wyjątkiem mojego SSH na porcie 22 niczego nie naprawiło . Oto wynik działania iptables -L
mojego routera:
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
Ponadto używam tego skryptu startowego, aby otworzyć port 8080 do zdalnego dostępu do interfejsu sieciowego w mojej domenie. Prawdopodobnie mógłbym przenieść je do rzeczywistej reguły przekierowania portów, ale nie zrobiłem tego.
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
Będziemy wdzięczni za wszelkie spostrzeżenia lub pomoc, jeśli masz pytania lub potrzebujesz innych informacji, mogę to zrobić. Dzięki!