使用 iptables 进行中转


第一步:开启系统的转发功能

首先要修改 /etc/sysctl.conf 文件:

echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

安装 iptables-services 软件包

yum install iptables-services

第二步: iptables 的命令

如下显示的是不同端口(本机端口号和目标机端口号不同)的中转方法:

sudo iptables -t nat -A PREROUTING -p tcp --dport 本机端口号 -j DNAT --to-destination 目标地址:目标端口号
sudo iptables -t nat -A PREROUTING -p udp --dport 本机端口号 -j DNAT --to-destination 目标地址:目标端口号
sudo iptables -t nat -A POSTROUTING -p tcp -d 目标地址 --dport 目标端口号 -j SNAT --to-source 本机内网地址
sudo iptables -t nat -A POSTROUTING -p udp -d 目标地址 --dport 目标端口号 -j SNAT --to-source 本机内网地址

第三步:重启 iptables 使配置生效

(仅适合Centos6,7默认没有安装iptables防火墙,Debian/Ubuntu 不需要输入这个命令)

service iptables save
service iptables restart

查看 NAT 规则

iptables -t nat -vnL

删除 NAT 规则
通过上面的查看规则命令,查看规则后,确定你要删除的规则的顺序,下面的命令是删除第一个规则。

iptables -t nat -D POSTROUTING 1
iptables -t nat -D PREROUTING 1

CentOS 下保存规则

sudo service iptables save

关闭iptables

systemctl stop iptables.service

声明:Blog on RackNerd|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 使用 iptables 进行中转


本博客托管在 RackNerd 的 VPS 上