1. 程式人生 > >如何開啟Linux雙網卡的轉發功能

如何開啟Linux雙網卡的轉發功能

table ip packet lan ear color inux 功能 一行 pos

原文地址:http://blog.csdn.net/lllzd/article/details/8587624 說明:在《把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雙網卡的轉發功能