INPUT 和 OUTPUT 链策略设置为 DROP。只有极少数规则允许直接通过电缆连接的设备之间进行特定流量传输。但是,如果我临时添加一条通向路由器的电缆,为什么我可以像 do 一样发起传出连接并接收响应apt update
,尽管没有允许 HTTP 流量传输的规则?
我注意到,如果我添加iptables -P FORWARD DROP
,这些传出连接将不再起作用。FORWARD 链为什么会对此产生影响?
raspberrypi:~ $ sudo iptables -nvL
Chain INPUT (policy DROP 332 packets, 244K bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
1254 79084 ACCEPT tcp -- * * 66.66.66.5 66.66.66.3 tcp dpt:21385 ctstate NEW,ESTABLISHED
1453 2495K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy DROP 373 packets, 47731 bytes)
pkts bytes target prot opt in out source destination
1715 162K ACCEPT tcp -- * * 99.99.99.3 99.99.99.2 tcp dpt:5656
6 456 ACCEPT udp -- * * 99.99.99.3 99.99.99.2 udp dpt:123
952 156K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED
第二个问题:在我的内部和直接有线连接的设备之间使用这些容易识别的 IP 地址是否存在风险?这些是有效的公共地址,数据包会泄露吗?
编辑:添加所请求的信息。
我们正在讨论设备“Raspi Client”。
输出iptables-save
:
raspberrypi:~ $ sudo iptables-save
# Generated by xtables-save v1.8.2 on Wed Jan 19 10:42:58 2022
*nat
:PREROUTING ACCEPT [529:48304]
:INPUT ACCEPT [7:420]
:POSTROUTING ACCEPT [2465:187164]
:OUTPUT ACCEPT [2804:242065]
:DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A DOCKER -i docker0 -j RETURN
COMMIT
# Completed on Wed Jan 19 10:42:58 2022
# Generated by xtables-save v1.8.2 on Wed Jan 19 10:42:58 2022
*filter
:INPUT DROP [607:267621]
:FORWARD ACCEPT [0:0]
:OUTPUT DROP [394:50896]
-A INPUT -i lo -j ACCEPT
-A INPUT -s 66.66.66.5/32 -d 66.66.66.3/32 -p tcp -m tcp --dport 21385 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -s 99.99.99.3/32 -d 99.99.99.2/32 -p tcp -m tcp --dport 5656 -j ACCEPT
-A OUTPUT -s 99.99.99.3/32 -d 99.99.99.2/32 -p udp -m udp --dport 123 -j ACCEPT
-A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Wed Jan 19 10:42:58 2022
答案1
INPUT
链OUTPUT
覆盖用于通信的源或目的地是路由器本身的通信。
FORWARD
涵盖路由器从一个接口转发到另一个接口(从 LAN 端口到 WAN 端口,反之亦然)的流量。