webjin1
V2EX  ›  问与答

咨询一个 kvm 部署的防火墙规则问题

  •  
  •   webjin1 · Feb 27, 2017 · 2245 views
    This topic created in 3456 days ago, the information mentioned may be changed or developed.
    我用 iptables 清空了防火墙默认表里面的规则,并且保存了。
    但是只要开启之前的那些默认规则又还原出现了配置的 NAT 表规则不会清空,排查了很久是 libvirtd 服务引起的 然后我又 iptables -F ,只要重启 libvirtd 服务那些默认规则又出现了。
    于是我写开机脚本清空默认规则,重启还是复现。
    主要是呀的 FORWARD 链第 2,3 条规则阻碍我的 NAT 网络的虚拟。
    谷歌了一些只找到了这个相关 https://libvirt.org/firewall.html
    但是他没说永久怎么去掉那些规则。
    http://wx1.sinaimg.cn/large/6118163egy1fd53745yr8j20ov07p74r.jpg
    pekingzcc
        1
    pekingzcc  
       Feb 27, 2017   ❤️ 1
    libvirt 支持网络虚拟化功能 ,这些功能的实现就是基于 iptables 来做的,所以不管你有没有写开机脚本清空 iptables 规则,只要重启 libvirt ,就会增加这些规则。
    比较纳闷为什么 实现 NAT 网络会跟 FORWARD 链第 2,3 条规则 冲突呢,我看第 2,3 条规则就是跟 libvirt 创建的 virbr0 网桥相关啊?楼主是用 virbr0 这个网桥实现 nat 吗?
    webjin1
        2
    webjin1  
    OP
       Feb 27, 2017
    @pekingzcc 是的,实现 nat ,无法帮我转发数据包出去,去掉这 2 条规则,我内网的虚拟机就可以与外界通信。 那你知道怎么去修改那些默认的配置吗?或者清空他。
    pekingzcc
        3
    pekingzcc  
       Feb 27, 2017
    我不知道怎么去修改这些默认的配置,但是可以提供给你一些思路:

    1 ,你用 libvirt 创建的虚拟机如果没有特殊配置的话网络类型默认应该就是 nat ,这种情况,如果配置正确的话,虚拟机可以联通外界,但是外界无法主动联通你的虚拟机。
    2 ,我猜测楼主如果是想实现外界直接联通虚拟机的功能。这种情况的话我暂时想到两种方法:一种是网络模式使用 bridge 模式,另一种方法是进行端口映射,将虚拟机的数据映射到宿主机的端口,但还是建议使用第一种方式,相对简单点。
    webjin1
        4
    webjin1  
    OP
       Feb 28, 2017
    @pekingzcc 不是桥接配置公网 IP ,而是 NAT ,我 NAT 的规则做好了。 FORWARD 链第 2,3 条规则阻碍 NAT 下的虚拟机无法 ping 通外面。好像 icmp-port-unreachable 这个只是 ping 协议的过滤。我等下再看看可以上网浏览网页吗?
    webjin1
        5
    webjin1  
    OP
       Feb 28, 2017
    @pekingzcc 我找到开机启动不让他还原的解决方案了。、
    编辑文件 /etc/rc.local
    sleep 1m ###重点在这里
    iptables -F
    iptables -X
    iptables -t mangle -F
    iptables -t raw -F
    iptables -t nat -F
    iptables -t nat -X
    iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o br0 -j MASQUERADE
    iptables -t nat -A PREROUTING -p tcp --dport 52003 -j DNAT --to-destination 192.168.0.3:22
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2812 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 14:46 · PVG 22:46 · LAX 07:46 · JFK 10:46
    ♥ Do have faith in what you're doing.