首先需要打开ip_forward

  • 方法1:/sbin/sysctl-w net.ipv4.ip_forward=1
  • 方法2:echo 1 > /proc/sys/net/ipv4/ip_forward
  • 方法3:修改/etc/sysctl.conf,设置net.ipv4.ip_forward = 1

A.本机端口转发
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-ports 22

B.跨网络、跨主机的映射Full-Nat
我们想到达主机B的80端口,但是由于网络限制可能无法直接完成。但是我们可以到达主机A的8080端口,而主机A可以直接到达B的80端口。
这时候可以使用iptables,将主机B的80端口映射到主机A的8080端口,通过访问A的8080相当于访问B的80。实现如下:

在主机A上直接如下命令,实现端口映射的Full-Nat

#!/bin/bash
NAT_Pro='tcp'
NAT_Host='Host_A'
NAT_Port=8080
Dst_Host='Host_B'
Dst_Port=80
iptables -t nat -A PREROUTING -m $NAT_Pro -p $NAT_Pro --dport $NAT_Port -j DNAT --to-destination $Dst_Host:$Dst_Port
iptables -t nat -A POSTROUTING -m $NAT_Pro -p $NAT_Pro --dport $NAT_Port -d $Dst_Host -j SNAT --to-source $NAT_Host

哟?不错哎 订阅小米的RSS Feeds 回去慢慢看^_^