我在 iptables 中见过无数这个规则的例子:
-A INPUT -i lo -j ACCEPT
我认为lo
意味着 localhost (又名127.0.0.1
),但是当我将其注释掉时,我无法使用其私有 ip 地址访问服务器192.168.1.3
,这意味着它不仅仅是 localhost 。
此外,该规则是指源 ip、目标 ip 还是两者。意思是,如果我欺骗来自 的来源127.0.0.1
,它会被接受吗?
我尝试查看手册页,但找不到答案。如果有人能指出我正确的方向,那将会很有帮助。
答案1
选项-i
采用iptables
接口名称。
您可以使用ifconfig
或ip addr
列出所有可用接口及其配置。
通常有一个名为 的接口lo
被配置为127.0.0.1/8
,即所有以 开头的 IP 地址127
。当用作目的地该接口只是将数据传送到同一主机。
在你的情况下,-i
指的是输入界面。该规则匹配源自本地主机的所有流量,无论目的地是哪个。
如果您删除它(并且在另一个规则中不允许此类流量),本地软件将不再能够与任何其他主机通信。