在CentOS 7上,可以使用iptables来转发TCP和UDP流量。以下是如何设置TCP和UDP端口转发的示例。
转发TCP端口:
打开终端。
确保你有root权限或者使用sudo执行以下命令。
添加TCP端口转发规则:
# 假设你想把从外部访问的80端口转发到内部IP 192.168.1.100的8080端口
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.100:8080
# 假设你想把从内部访问的8080端口转发回外部IP 192.168.1.100的80端口
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.100 --dport 8080 -j MASQUERADE
转发UDP端口:
打开终端。
确保你有root权限或者使用sudo执行以下命令。
添加UDP端口转发规则:
# 假设你想把从外部访问的53端口(通常是DNS)转发到内部IP 192.168.1.100的5353端口
iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to-destination 192.168.1.100:5353
# 假设你想把从内部访问的5353端口转发回外部IP 192.168.1.100的53端口
iptables -t nat -A POSTROUTING -p udp -d 192.168.1.100 --dport 5353 -j MASQUERADE
确保替换上述示例中的IP地址和端口号以符合你的具体需求。
保存规则:
每次更改iptables规则后,建议保存规则以防系统重启:
# 保存iptables规则
sudo service iptables save
# 重启iptables服务
sudo systemctl restart iptables.service