或者(没有就添加进去)
vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p生效
然后在 vi /etc/sysconfig/iptables 文件中添加以下代码
iptables -t nat -A PREROUTING -p tcp --dport [端口] -j DNAT --to-destination [目标IP:端口]
iptables -t nat -A PREROUTING -p udp --dport [端口] -j DNAT --to-destination [目标IP:端口]
iptables -t nat -A POSTROUTING -p tcp -d [目标IP] --dport [端口] -j SNAT --to-source [本地服务器公网IP(腾讯云需要用内网ip)]
iptables -t nat -A POSTROUTING -p udp -d [目标IP] --dport [端口] -j SNAT --to-source [本地服务器公网IP(腾讯云需要用内网ip)]
其中端口指你要开放的本地转发端口。目标IP:端口是国外vps的IP和需要转发的端口,这样就开启了tcp和udp中转,然后重启一下iptables就可以进行测试了
以上即完成了防火墙转发
(vi修改 iptables 无需用到此命令 service iptables save )
service iptables saveservice iptables restart
(重启命令,重启生效)
多端口转发修改方案: ( 将本地服务器的 50000~65535 转发至目标 IP 为 1.1.1.1 的 50000~65535 端口 )
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 50000:65535 -j DNAT --to-destination 1.1.1.1
iptables -t nat -A PREROUTING -p udp -m udp --dport 50000:65535 -j DNAT --to-destination 1.1.1.1
iptables -t nat -A POSTROUTING -d 1.1.1.1/32 -p tcp -m tcp --dport 50000:65535 -j SNAT --to-source [本地服务器IP(腾讯云需要用内网ip)]
iptables -t nat -A POSTROUTING -d 1.1.1.1/32 -p udp -m udp --dport 50000:65535 -j SNAT --to-source [本地服务器IP(腾讯云需要用内网ip)]
非同端口号修改方案:(使用本地服务器的 60000 端口来转发目标 IP 为 1.1.1.1 的 50000 端口)
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 60000 -j DNAT --to-destination 1.1.1.1:50000
iptables -t nat -A PREROUTING -p udp -m udp --dport 60000 -j DNAT --to-destination 1.1.1.1:50000
iptables -t nat -A POSTROUTING -d 1.1.1.1/32 -p tcp -m tcp --dport 50000 -j SNAT --to-source [本地服务器IP(腾讯云需要用内网ip)]
iptables -t nat -A POSTROUTING -d 1.1.1.1/32 -p udp -m udp --dport 50000 -j SNAT --to-source [本地服务器IP(腾讯云需要用内网ip)]
2.关闭iptables(添加 转发规则 后需要关闭才能 转发删除规则)
service iptables stop #临时关闭,重启无效
chkconfig iptables off #永久关闭,重启生效
同样的centos7的firewalld也可以实现上述功能,直接几条命令就可以了
启动firewalld服务。
systemctl start firewalld
firewall-cmd --permanent --add-port=端口/tcp #开启本地tcp中转端口
firewall-cmd --permanent --add-port=端口/udp #开启本地udp中转端口
firewall-cmd --permanent --add-masquerade #添加伪装
firewall-cmd --permanent --add-forward-port=port=端口:proto=tcp:toport=vps端口:toaddr=x.x.x.x(vps IP) #建立tcp远程中转端口转发
firewall-cmd --permanent --add-forward-port=port=端口:proto=udp:toport=vps端口:toaddr=x.x.x.x(vps IP) #建立udp远程中转端口转发
firewall-cmd --reload #重启firewalld
发表评论