偶尔会使用iptables的NAT转发功能,但是每次都没做笔记。每次都忘记导致调试半天。还是做个笔记吧:
首先开启ip转发功能
echo "1" > /proc/sys/net/ipv4/ip_forward #修改net.ipv4.ip_forward = 1 vim /etc/sysctl.conf #生效配置文件。 sysctl -p
以下命令3选一
#只指定出口网卡 iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #指定只转发192.168.254.0/24段与出口网卡 iptables -t nat -A POSTROUTING -s 192.168.254.0/24 -o eth0 -j MASQUERADE #指定只转发192.168.254.0/24段与出口IP 192.184.1.2 iptables -t nat -A POSTROUTING -s 192.168.254.0/24 -j SNAT --to-source 192.184.1.2
只放行192.168.254.0/24网段转发
iptables -P FORWARD DROP iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -s 192.168.254.0/24 -j ACCEPT
端口映射
#把eth0网卡的TCP 21999端口映射给192.168.254.6的8999(如果前后两个端口相同,后面可以不写) iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 21999 -j DNAT --to-destination 192.168.254.6:8999 #放行TCP 8999端口转发 iptables -A FORWARD -p tcp -m tcp --dport 8999 -j ACCEPT #把eth0网卡的UDP 21999端口映射给192.168.254.6的8999(如果前后两个端口相同,后面可以不写) iptables -t nat -A PREROUTING -i eth0 -p udp -m udp --dport 21999 -j DNAT --to-destination 192.168.254.6:8999 #放行UDP 8999端口转发 iptables -A FORWARD -p udp -m udp --dport 8999 -j ACCEPT #列出所有转发规则 iptables -t nat -L -n
您好, 我在 Centos 7.5 上部署了 KVM 创建了一个虚拟机器, 采用 NAT 方式(默认的 default), 现在虚拟机都安装好了, VNC 也正常访问, 但是一直配置不好端口转发. 想请教一下您.
宿主机: 192.168.7.2
NAT: 192.168.122.1 virbr0
虚拟机: IP 配置为192.168.122.240 window 2008r2
现在想把宿主机的13389端口转发到虚拟机的3389端口, 按网上配置了好几次都不行. 搞了几天了.
所以想请您帮帮忙. 谢谢.
为什么不直接桥接?你虚拟机的3389端口开放了吗?
需要在宿主机做转发。