iptables:为什么即使没有规则允许,传出连接仍然有效

iptables:为什么即使没有规则允许,传出连接仍然有效

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

INPUTOUTPUT覆盖用于通信的源或目的地是路由器本身的通信。

FORWARD涵盖路由器从一个接口转发到另一个接口(从 LAN 端口到 WAN 端口,反之亦然)的流量。

相关内容