如何开启Linux双网卡的转发功能

Posted lclc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何开启Linux双网卡的转发功能相关的知识,希望对你有一定的参考价值。


说明:在《把arm开发板做成USB网卡(RNDIS /Ethernet Gadget)》基础上将mini2440做成一个usb网卡
*********************************************************/

一台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 eth0route 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

上面的语句中eth0是连接外网或者连接Internet的网卡. 执行下面的命令,保存iptables的规则:

  service iptables save

查看路由表:

  netstat -rn

查看iptables规则:

  iptables -L










以上是关于如何开启Linux双网卡的转发功能的主要内容,如果未能解决你的问题,请参考以下文章

linux 双网卡代理上网

Linux路由转发+多网卡配置(route命令)

CentOS实现双网卡网络共享

CentOS7 开启路由转发

Linux 设置双网卡通信,外网网卡和内网网卡

Linux 设置双网卡通信,外网网卡和内网网卡