我在 ubuntu 18.04 系统上安装了 lxc-container (fedora 29 amd64)。 Linux 容器没有防火墙命令行工具。因此我将 iptables 安装到我的容器中并且安装成功。
但是,我尝试将接口配置为丢弃所有传入和传出的数据包,但这不起作用。我在这里向您提供所有详细信息。
命令ip \a
下达;
[root@fedora29 ~]# ip \a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue 状态 UNKNOWN 组默认 qlen 1000 链接/环回 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 范围主机 lo 永远有效_lft 永远首选_lft inet6 ::1/128 范围主机 永远有效_lft 永远首选_lft 7: eth0@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue 状态 UP 组默认 qlen 1000 链接/以太 00:16:3e:4c:d8:bf brd ff:ff:ff:ff:ff:ff link-netnsid 0 inet 10.0.3.52/24 brd 10.0.3.255 范围全局动态 eth0 valid_lft 3456 秒 Preferred_lft 3456 秒 inet6 fe80::216:3eff:fe4c:d8bf/64 范围链接 永远有效_lft 永远首选_lft
我的 iptables 规则如下;
[root@fedora29 ~]# iptables -L 链输入(策略接受) 目标 prot 选择源目的地 链转发(策略接受) 目标 prot 选择源目的地 链输出(策略接受) 目标 prot 选择源目的地
因此我添加了以下两条规则
iptables --table filter --append INPUT --in-interface eth0@if8 --jump DROP
iptables --table filter --append OUTPUT --out-interface eth0@if8 --jump DROP
当我最终保存配置时
iptables-保存
[root@fedora29 ~]# iptables-save # 由 iptables-save v1.8.0 于 2019 年 2 月 20 日星期三 08:41:43 生成 *筛选 :输入接受[0:0] :转发接受[0:0] :输出接受[0:0] -A 输入 -i eth0@if8 -j 删除 -A 输出 -o eth0@if8 -j 丢弃 犯罪 # 于 2019 年 2 月 20 日星期三 08:41:43 完成
然而,在我的 ubuntu 主机系统上同样可以正常工作,其中接口名为 lxcbr0。
答案1
@if8
只需从规则中的接口名称中删除即可,因为它不是接口名称的一部分。接口名称只是eth0
.
@if8
是有关链接对等接口的线索,并且是动态的:例如,它可能会在容器重新启动后发生变化。
想了解更多关于you的含义@if8
可以看我的回答:
Ubuntu 上“ip 地址”命令输出中接口名称中的“if1@if2”是什么意思
答案2
首先,我需要感谢@AB 的回复,因为它解决了我的问题。虽然我尝试使用内置链的策略而不提供它工作的接口......
[root@fedora29 ~]# iptables --表过滤器 --策略输入删除 [root@fedora29 ~]# iptables --表过滤器 --policy 输出丢弃 [root@fedora29 ~]# iptables-save > /etc/network/iptables [root@fedora29 ~]# iptables-apply /etc/network/iptables 应用新规则集...完成。 您可以与机器建立新的连接吗? (y/N) y ……那么我的工作就完成了。下次见。
然而,当我尝试使用列出规则时,iptables -L
我确实观察到没有创建新规则,但规则的策略已修改,如图所示......
[root@fedora29 ~]# iptables -L 链INPUT(策略DROP) 目标 prot 选择源目的地 链转发(策略接受) 目标 prot 选择源目的地 链输出(策略DROP) 目标 prot 选择源目的地 [root@fedora29 ~]# ping 10.0.3.1 PING 10.0.3.1 (10.0.3.1) 56(84) 字节数据。 ping:sendmsg:不允许操作 ping:sendmsg:不允许操作 --- 10.0.3.1 ping 统计数据 --- 发送 2 个数据包,接收 0 个数据包,100% 丢包,时间 23ms [root@fedora29 ~]# iptables -S -P 输入下降 -P 转发接受 -P 输出下降