IPtables实现nat方式的流量转发

NAT可以方便的完成这种流量穿通功能,即把外网数据通过NAT(中转设备)来穿透进内网,内网数据通过NAT(中转设备)穿透出外网。

那linux下iptables如何实现nat转发?这里将以Debian7主机下的测试为例。

1、开启IP_FORWARD

vi /etc/sysctl.conf
#在文件末添加以下一行(如已有则不必添加,直接将注释解除即可)
net.ipv4.ip_forward=1

2、使用IPTABLES,转发TCP、UDP流量

#TCP
iptables -t nat -A PREROUTING -p tcp --dport 映射地址 -j DNAT --to-destination 目标地址:目标端口
iptables -t nat -A POSTROUTING -p tcp -d 目标地址 --dport 目标端口 -j SNAT --to-source 映射地址

#UDP
iptables -t nat -A PREROUTING -p udp --dport 映射地址 -j DNAT --to-destination 目标地址:目标端口
iptables -t nat -A POSTROUTING -p udp -d 目标地址 --dport 目标端口 -j SNAT --to-source 映射地址

#其中“目标地址:目标端口”是目标服务器的IP与端口,“映射地址”是本机的公网IP。

3、保存IPTABLES

#这里使用 iptables-save 保存iptables配置,也可以使用其他方法保存。
iptables-save > /etc/iptables.up.rules

需要注意的是,并非所有服务器环境都支持UDP转发,具体操作过程中需要根据实际情况。

相关推荐:
从cmake官网下载最新的cmake版本,官方地址: https://cmake.org/download/ 1、解压 tar -zxvf cmake-xxx.tar.gz 2、进入目录并配置源码 cd cmake-xxx ./configure 3、编译 make 4、安装 make install
将本机80端口的请求转发到8080端口 #shell#iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080 如果需要本机也可以访问,则需要配置OUTPUT链 #shell#iptables -t nat -A OUTPUT …
PureFTP是目前很多Linux平台流行的FTP服务端之一,最近配置服务器使用到了PureFTP,中间也出现了各种连接问题,总之就是无法正常传输数据,防火墙也开放了21端口,但最要命的是客户端使用被动模式怎么也连 …
这是源码安装软件时配置环境用的,根据你的配置选项和你的系统情况生成makefile文件,为make 做准备。 最常用的参数就是: ./configure --prefix=xxx 若不指定prefix,则可执行文件默认放在/usr/local/bin …
Linux下我们会遇到一个常见的问题,那就是如何修复 /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 问题,这个问题发生的根源不是安装报出问题,而是平台兼容性问题。 怎么理解,就 …
拿起手机扫一扫即可带走我!