墨少离 - 个人小站,分享一些资源以及心得~ - tcp https://www.msl.la/tag/tcp/ iptables 服务器a和服务器b之间的映射方法 https://www.msl.la/archives/155/ 2021-02-21T16:37:30+08:00 正如标题所以写, 如果是一台内网一台外网做这个映射应该很容易。 此文章仅纪录我设置由前端服务器113.xx.xx.55到后端 50.11.xx.14 映射到方法 首先呢 肯定要打开linux的内核转发功能echo "1" >>/proc/sys/net/ipv4/ip_forward然后就是主要的咯。假设连接113.xx.xx.55的80端口等同于连接 50.11.xx.14 的22端口,配置文件按下面这样写,113.xx.xx.55的80端口占用还是不占用都没关系,只要放行就可以了。注意重点部分。vim /etc/sysconfig/iptables *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] #这里是重点哦 -A PREROUTING -d 172.16.16.44/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.16.244:22 -A POSTROUTING -d 172.16.16.244/32 -p tcp -m tcp --dport 22 -j SNAT --to-source 172.16.16.44:80 #到这里为止 COMMIT *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT #这里是重点 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A FORWARD -s 172.16.16.244/32 -j ACCEPT -A FORWARD -d 172.16.16.244/32 -j ACCEPT #这里结束 -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT