Linux采用iptables端口转发的配置 怼烎@ 2022-06-11 07:23 226阅读 0赞 一。开启IP转发功能,默认是关闭的 (1) 临时修改 # echo 1 >/proc/sys/net/ipv4/ip_forward 修改后马上生效,但系统重启后则又恢复为默认值0。 (2) 永久修改 # vi /etc/sysctl.conf 将 net.ipv4.ip\_forward 的值修改成 1 ,默认值0是禁止ip转发,修改为1即开启ip转发功能。 net.ipv4.ip_forward = 1 执行 # /usr/sbin/sysctl -p 使其立即生效。 二。 配置端口转发 1. 用户访问192.168.43.130: 7080 时我想让它转发到192.168.43.129:80 转发TCP 192.168.43.130的7080端口到192.168.43.129的80端口 # iptables -t nat -A PREROUTING --dst 192.168.43.130 -p tcp --dport 7080 -j DNAT --to-destination 192.168.43.129:80 使转发数据包实现“双向通路”,给数据包设置一个正确的返回通道 \# iptables -t nat -A POSTROUTING --dst 192.168.43.129 -p tcp --dport 80 -j SNAT --to-source 192.168.43.130 2. 你也可以直接修改/etc/sysconfig/iptables文件 \# vi /etc/sysconfig/iptables -A PREROUTING -d 192.168.43.130/32 -p tcp -m tcp --dport 7080 -j DNAT --to-destination 192.168.43.129:80 -A POSTROUTING -d 192.168.43.129/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.43.130 3.开放7080端口 -A INPUT -p tcp -m state --state NEW -m tcp --dport 7080 -jACCEPT 4.将当前规则保存到 /etc/sysconfig/iptables \# service iptables save 5. 重启防火墙 # service iptables restart 三。 本机端口转发 比如 访问 http://ip:7080 我想返回 http://ip:80 的内容,配置如下 新增7080转发到80 #iptables -t nat -A PREROUTING -p tcp --dport 7080 -j REDIRECT --to-port 80 取消7080转发到80 #iptables -t nat -D PREROUTING -p tcp --dport 7080 -j REDIRECT --to-port 80 保存和重启防火墙
还没有评论,来说两句吧...