使用iptables进行端口转发
young / / linux / 阅读量

背景

由于项目需要在物理服务器(centos系统)上面安装KVM虚拟机后,使用的NAT模式,需要将虚拟机提供服务的端口进行映射出来
不想额外安装其他软件,所以干脆直接用Iptables进行转发

开启系统的转发功能

/etc/sysctl.conf文件

net.ipv4.ip_forward=1

iptables 命令

iptables -t nat -A PREROUTING -p tcp –dport [端口号] -j DNAT –to-destination [目标IP:目标端口]
iptables -t nat -A POSTROUTING -p tcp -d [目标IP] –dport [目标端口] -j SNAT –to-source [本地服务器IP]
iptables -t filter -I FORWARD -d 目标IP -j ACCEPT
iptables -t filter -I FORWARD -s 目标IP -j ACCEPT
iptables -t filter -I -A INPUT -s 0.0.0.0/0 -m multiport -p tcp –dport 目标端口 -j ACCEPT

重启 iptables 使配置生效

service iptables save
service iptables restart

扩展需求

多端口转发修改方案: ( 将本地服务器的 50000~65535 转发至目标 IP 为 1.1.1.1([目标IP]) 的 50000~65535 端口 )

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 50000:65535 -j DNAT --to-destination  [目标IP]
iptables -t nat -A POSTROUTING -d [目标IP] -p tcp -m tcp --dport 50000:65535 -j SNAT --to-source [本地服务器IP]
iptables -t filter -I FORWARD -d 目标IP -j ACCEPT
iptables -t filter -I FORWARD -s 目标IP -j ACCEPT
iptables -t filter -I -A INPUT -s 0.0.0.0/0 -m multiport -p tcp --dport 50000:65535 -j ACCEPT
支付宝捐赠
请使用支付宝扫一扫进行捐赠
微信捐赠
请使用微信扫一扫进行赞赏
有 0 篇文章