iptables 跨网段转发
网络结构如下需求PC 只能访问到 Linux,需要 Linux 转发数据包,使得 PC 可以访问到路由器。使用 iptables 转发iptables -t nat -I PREROUTING -p tcp --dport 10000 -j DNAT --to-destination 192.168.0.1:80iptables -t nat -I POSTROUTING -p tcp...
·
网络结构如下
需求
PC 只能访问到 Linux,需要 Linux 转发数据包,使得 PC 可以访问到路由器。
使用 iptables 转发
iptables -t nat -I PREROUTING -p tcp --dport 10000 -j DNAT --to-destination 192.168.0.1:80
iptables -t nat -I POSTROUTING -p tcp -d 192.168.0.1 --dport 80 -j SNAT --to-source 192.168.0.20
这样当 PC 访问 192.168.194.20:10000 时,实际就可访问到路由器(192.168.0.1)了。
命令的解释如下:
- 当发起到 Linux 的连接请求时,数据包从 192.168.194.10 发出,到达 Linux 主机 192.168.194.20,经过 Linux 时将数据包重新构造,把数据包的目的地址由 192.168.194.20 改为 192.168.0.1。
- 经过第一步处理的数据包进入 192.168.0.20,数据包从 192.168.0.20 发向 192.168.0.1 时,将数据包的源地址 192.168.194.11 改为192.168.0.20。
- 路由器接收到请求数据包之后响应,响应数据包从 192.168.0.1 发送到 192.168.0.20,在接收到源地址为 192.168.0.1 的数据包时,将其目的地址 192.168.0.20 改为 192.168.194.11。
- 数据包第三步处理后流向 192.168.194.20,当数据包流出 192.168.194.20 时,将其源地址 192.168.0.1 改为 192.168.194.20。
其他 iptables 命令
显示规则:iptables -t nat -L PREROUTING --line-numbers
删除规则:iptables -t nat -D PREROUTING 1(规则序号)
更多推荐
已为社区贡献3条内容
所有评论(0)