记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。

Centos7.9 使用KVM虚拟机NAT模式防火墙规则配置方案


Centos7.9  kvm 虚拟机 nat 网络 iptables 宿主机端口不能转发到虚拟机

我安装了kvm,并使用vmbuilder在服务器上设置了多个guest虚拟机。这是以下配置:


server host1 (xxx.xxx.xxx.xxx) ->  guest vm1 (192.168.122.203)
                    ->  guest vm2 (192.168.122.204)
 
其中xxx.xxx.xxx.xxx是host1的固定IP地址。


我想使用命令连接到vm1,但是我运行时出现超时。
 
我试图通过在iptables中添加以下规则来做到这一点:


sudo iptables -t nat -I PREROUTING -d XXXXXXX  -p tcp -m tcp --dport 9010 -j DNAT --to-destination 192.168.122.203:22
 
但是我运行时出现超时,

 
这是我的iptables规则:


sudo iptables -nL


Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         
       
1    60 REJECT    all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable
0    0 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable


然后我删除了表格过滤器FORWARD链的以上规则

$sudo iptables -D FORWARD 5 -t filter
$sudo iptables -D FORWARD 4 -t filter


我在nat表中添加了这条规则:


$sudo iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to-destination 192.168.122.203:22

现在,我通过执行以下操作连接到vm1:


由于 重启系统后,iptables的规则会重新添加,为避免 开机后vm无法连接,可以使用定时任务删除规划。


crontab -e

*/1 * * * *  /sbin/iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable




转载请标明出处【Centos7.9 使用KVM虚拟机NAT模式防火墙规则配置方案】。

《www.92cto.com》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论