iptables配置禁止虚拟机之间通信

记个笔记 顺便记一下 iptables规则的取反要放在一条匹配项之前 而不是参数之前

#以下规则要允许所有非172.20.0.64/26的地址通过访问
#正确
-A KVM ! -s 172.20.0.64/26 -j ACCEPT #错误
-A KVM -s ! 172.20.0.64/26 -j ACCEPT

我的虚拟机网络NAT转换的 地址为172.20.0.64/26 网卡为virbr1

配置策略 让虚拟机允许访问宿主机 但禁止各个虚拟机之间访问

使用防火墙iptables 操作系统 kali(基于debian)

因为虚拟机间通讯走的是virbr1网卡 而且流量不走本机

所有外网流量

所以我们要操作FORWARD链

建议不要把所有的规则直接扔FORWARD里面 太乱了

#设置FORWARD链的策略为丢弃 一般INPUT和FORWARD的策略都要设置成DROP方便规则的编写
-P FORWARD DROP
#定义用户链
-N KVM

 

在FORWARD里面加两条

-A FORWARD -i virbr1 -j KVM
-A FORWARD -o virbr1 -j KVM

这两条规则将所有走virbr1网卡的流量都走一遍KVM链

# 这两条允许访问宿主机
-A KVM -s 172.20.0.65 -j ACCEPT
-A KVM -d 172.20.0.65 -j ACCEPT
# 这两条允许广播
-A KVM -s 172.20.0.255 -j ACCEPT
-A KVM -d 172.20.0.255 -j ACCEPT
# 这两条禁止虚拟机间通信 必须要放在最后 不然上面那两条都没用了
-A KVM ! -s 172.20.0.64/26 -j ACCEPT
-A KVM ! -d 172.20.0.64/26 -j ACCEPT
# 或者写成(说实话 我不太喜欢这种写法 虽然和上面的写法没区别 大概是心理作用吧)
-A KVM -s 172.20.0.64/26 -d 172.20.0.64/26 -j DROP
-A KVM -j ACCEPT

配置Docker容器间禁止互相访问也和这个一样

Erika 20190722

posted on 2019-07-22 08:12  绝对密位  阅读(649)  评论(0编辑  收藏  举报

导航