Iptables verstehen Öffnen Sie den Port Ihres Laptops (Linux), bis Sie im Internet surfen können.
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Da es vollständig geöffnet ist, verwenden wir die White-List-Methode und öffnen den Port, um im Internet zu surfen.
Verwenden Sie die White-List-Methode
iptables -P INPUT DROP
iptables -P FORWARD DROP
Wenn Sie die Option -t nicht angeben, ist die Standardtabelle die Filtertabelle.
Ich kann mich nicht mehr mit Qiita verbinden. OUTPUT ist vollständig geöffnet, aber INPUT kann überhaupt nicht verwendet werden. Mit anderen Worten, ich kann keine Ping-Antwort erhalten.
ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
Erlaube Ping, da es das icmp-Protokoll verwendet.
iptables -A INPUT -p icmp -j ACCEPT
ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=52 time=12.4 ms
Ist es möglich, den Namen aufzulösen?
ping google.com
ping: google.com: unbekannter Name oder Dienst
Das DNS-Protokoll scheint udp und tcp an Port 53 zu verwenden, sodass Sie beide öffnen können.
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p tcp --sport 53 -j ACCEPT
dig google.com
; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> google.com
;; global options: +cmd
;; connection timed out; no servers could be reached
Ich kann es nicht lösen. .. Seltsam.
cat /etc/resolv.conf
This file is managed by man:systemd-resolved(8). Do not edit.
This is a dynamic resolv.conf file for connecting local clients to the
internal DNS stub resolver of systemd-resolved. This file lists all
configured search domains.
Run "systemd-resolve --status" to see details about the uplink DNS servers
currently in use.
Third party programs must not access this file directly, but only through the
symlink at /etc/resolv.conf. To manage man:resolv.conf(5) in a different way,
replace this symlink by a static file or a different symlink.
See man:systemd-resolved.service(8) for details about the supported modes of
operation for /etc/resolv.conf.
nameserver 127.0.0.53
options edns0
ss -ln | grep "127.0.0.53"
udp UNCONN 0 0 127.0.0.53%lo:53 0.0.0.0:*
tcp LISTEN 0 128 127.0.0.53%lo:53 0.0.0.0:*
Es scheint, dass systemd-Resolution einen Hauptvertrag über den lokalen Port 53 abschließt, daher scheint es notwendig zu sein, auch das Ziel zu öffnen. ** Nochmals Hinweis: Dies ist auf Computern nicht erforderlich, auf denen nicht systemd aufgelöst ausgeführt wird **
iptables -A INPUT -p udp --dport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT
dig google.com
; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62225
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;google.com. IN A
;; ANSWER SECTION:
google.com. 163 IN A 172.217.24.142
;; Query time: 13 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Fri Dec 27 17:47:57 JST 2019
;; MSG SIZE rcvd: 55
Es ist gelöst. (Eigentlich war ich wirklich begeistert: heat_smile:
Aber es verbindet sich immer noch nicht mit Qiita. Sie müssen in der Lage sein, die http (s) -Antwort zu erhalten.
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 443 -j ACCEPT
Ich konnte mich mit Qiita verbinden.
Die Einstellungen bis zu diesem Punkt können mit dem folgenden Befehl bestätigt und durch Umleitung gespeichert werden.
iptables-save
Generated by iptables-save v1.6.1 on Sat Dec 28 13:08:20 2019
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
Completed on Sat Dec 28 13:08:20 2019
Generated by iptables-save v1.6.1 on Sat Dec 28 13:08:20 2019
*filter
:INPUT DROP [542:171507]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [2523:785906]
-A INPUT -p icmp -j ACCEPT
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --sport 443 -j ACCEPT
COMMIT
Completed on Sat Dec 28 13:08:20 2019
Sie können die Einstellungen aus der gespeicherten Einstellungsdatei mit dem folgenden Befehl wiederherstellen.
# iptables-restore [Name der Konfigurationsdatei]
Rückkehr zum ursprünglichen Zustand
iptables -F
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
Von dem Ort, an dem Sie alle eingehenden Pakete mit der Standardrichtlinie abspielen Ich habe versucht, den zum Surfen im Internet erforderlichen Port zu öffnen. Da es sich bei iptables um eine sicherheitsrelevante Einstellung handelt, möchte ich das richtige Wissen erwerben.
Recommended Posts