您的位置:首页 > 运维架构 > Linux

linux 通过两个网卡,连接不同的不同的网段

2016-02-23 15:52 786 查看
linux数据包转发功能

A:192.168.xxx.xxx B:172.24.xxx.xxx, 从而实现了A网段和B网段的互通。

原因Linux机器可以通过设置实现数据包的转发功能。

#echo "1" > /proc/sys/net/ipv4/ip_forward

注:

如果要让包转发功能在系统启动以后自动生效,需要修改/etc/sysctl.conf文件,添加一行:
# Controls IP packet forwarding
net.ipv4.ip_forward = 1

添加正确的静态路由:
route add -net 192.168.76.0 netmask 255.255.255.0 dev eth0
route add -net 172.24.178.0 netmask 255.255.255.0 dev eth1

做完上面两步之后,如果还不能实现网络的互通,需要核查路由的配置情况,包括来回两个方向,一定要把Linux机器设置为网关。
如果要把Linux设置成路由器,打开iptables的NAT功能:
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

或者:iptables -t nat -A POSTROUTING -s 192.168.760/24 -o eth0 -j SNAT --to-source 172.24.178.2

这个是MASQUERADE和SNAT 区别。 SNA是固定的IP(转到规定的IP)

上面的语句中eth0是连接外网或者连接Internet的网卡. 执行下面的命令,保存iptables的规则:
service iptables save
查看路由表:
netstat -rn
查看iptables规则:
iptables -L

网关,将目的主机发还的数据包的目的ip地址(网关地址)修改为发出请求的内网主机的ip地址,并将其发给内网主机。

推荐博客SNAT、DNAT——iptables防火墙基础策略汇总:http://www.linuxidc.com/Linux/2013-08/88536.htm
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: