如何開啟Linux雙網卡的轉發功能
阿新 • • 發佈:2017-12-28
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雙網卡的轉發功能