iptables双网卡路由转发

https://blog.csdn.net/hustsselbj/article/details/45866773

假设eth0作内网接口,eth1作访问外网接口

LAN2对应eth0 : 默认Ip 192.168.0.253
LAN1对应eth1 : 默认Ip 192.168.1.253
iptables双网卡路由转发_第1张图片

让指定的IP可以访问,route设置路由指定IP的网关或者网卡。
route add命令的主要作用是添加静态路由,通常的格式是:
route add 134.105.0.0 mask 255.255.0.0 134.105.64.1
参数含义:^destination ^mask ^gateway metric^ ^interface
destination【网段地址】
mask【子网掩码】
gateway【网关地址】
metric 【路由跳数】
if【端口号】

其中:
可以省略【路由跳数】参数;
当通往该网关地址的路径唯一时,【端口号】参数可以省略。(因为在多端口的路由交换设备上,可能存在通往同一个IP地址的多条备份路径。)
mask 是关键字,不能省略。

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
意思是:所有需要发往134.105.0.0/16地址段的IP数据包,全部由134.105.64.1路径转发。在这里插入图片描述
route add default gw 192.168.1.0
route add x.x.x.x gw 192.168.1.1 #设置指定IP的网关为网卡2的网关

iptables设定规则
http://www.zsythink.net/archives/1517
iptables -t -nat -A PREROUTING -d 192.168.1.253/32 -p tcp -m tcp --dport 88 -j DNAT --to-destination 192.168.0.250:88 #外网的IP是映射到内网的IP,进来的IP88端口转发到指定IP的端口88
iptables -t -nat -A POSTROUTING -d x.x.x.x -p tcp -m tcp --dport 88 -j SNAT --to 192.168.1.8 #返回的时候先外网的IP转发到网卡2的IP上。
iptables -t -nat -A POSTROUTING -d 192.168.1.8 -p tcp -m tcp --dport 88 -j SNAT --to 192.168.4.128
#再把网卡2的IP转发到网卡1的IP地址,这样就可以从外网的IP返回了。
service iptables save #把iptables规则保存到文件中
vi /etc/rc.local #把iptbles规则写到开启启动中
#load iptbales
iptables-restore > /etc/sysconfig/iptables
service iptables restart #重启iptables。

你可能感兴趣的:(iptables双网卡路由转发)