你這個需求,需要使用iproute2包中的 ip命令完成。
首先 /etc/iproute2/rt_tables 裡面添加2個table, 對應2個不同的網段(net3 net5)
配置思路是 用ip route 命令為net3 table增加default gw 118.126.3.1,net5 table 增加default gw 118.126.5.1
然後用 ip rule 命令 使用源地址匹配規則 源地址為118.126.3.16的數據包選擇 net3 table, 源地址為118.126.5.251的數據包選擇net5 table.
當然你也需要設置本機的默認default gw(直接用route命令),那麼由本機生成的數據包,默認會選用與default gw連接的那塊網卡的ip地址對外通訊(程序指定的除外)。
以上配置對於正常開發的 tcp通訊軟體完全可以正確工作,ping也沒有問題。 不過某些開發不正確的udp軟體可能運行會不正常(這種udp軟體,在有兩個以上ip地址的主機上工作都會有問題)
『貳』 linux設置雙網卡
注意: 2 張網卡,只能有1張網卡配置網關,另1張網卡不能配置網關,通過route add 添加路由功能來完成第2張網卡的網關配置。
如 : eth1 (192.168.2.2)不需要配置網關, 但到 192.168.3.0 的網段,需要從eth1 去實現通信,其餘的全部走eth0 網卡,eth0 配置 網關.
eth0 的配置如下,配置網關參數
[root@REDHAT network-scripts]# cat ifcfg-eth0
# Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
HOTPLUG=no
TYPE=Ethernet
IPADDR=192.168.1.2
NETMASK=255.255.255.0
HWADDR=d8:d3:85:fb:d4:60
GATEWAY=192.168.1.1
USERCTL=no
IPV6INIT=no
PEERDNS=yes
eth1 的配置如下,不需要配置網關
[root@SERVER network-scripts]# cat ifcfg-eth1
# Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
HOTPLUG=no
TYPE=Ethernet
IPADDR=192.168.2.2
NETMASK=255.255.255.0
USERCTL=no
IPV6INIT=no
PEERDNS=yes
Linux 命令行下添加路由,192.168.3.0 走 eth1 的網關 192.168.2.1
route add -net 192.168.3.0 netmask 255.255.255.0 dev eth1
『叄』 linux虛擬機怎麼配置雙網卡
在使用橋接之前,先在真機的'更改適配器設置中'禁用vmnet1和vmnet8
在VMware中定義一個
橋接器
設置這個
Linux虛擬機
使用前一個步驟定義的橋接器--進入橋接器選擇界面.
設置這個Linux虛擬機使用前一個步驟定義的橋接器--選擇網路橋接器
5
設置這個Linux虛擬機的網卡--或者通過這里自動獲取IP
6
與第5不重復,可跳過
設置這個Linux虛擬機的網卡--進入網卡設置路徑
『肆』 在linux系統下如何配置雙網卡
因為一個系統只允許一個默認網關,所以你的雙網卡配置文件,只有一個進行配置,另一個注釋掉,以軟路由的方式實現雙網卡網路通信正常。操作如下:1、內網卡的IP配置文件正常配置;2、外網卡的IP配置文件網關位置去掉;3、啟動2個網卡;4、執行路由命令添加軟路由顯示外網只允許指定網段通信使用外網,命令如下:routeadd-net網段netmask掩碼gw外網網關以上請使用對應IP替換網段,掩碼,外網網關
『伍』 如何利用Linux雙網卡連接兩個網路
首先需要有兩塊網卡,分別接到兩個路由上。 外網 internet 地址:192.168.1.1 子網掩碼: 255.255.255.0, 網關: 192.168.1.1 內網地址: 192.168.42.129 子網掩碼:255.255.255.0 網關:192.168.42.132 按正常的設置每塊網卡的ip(或通過DHCP自動獲取),再cmd下使用route print查看時會看到 即指向0.0.0.0的有兩個網關,這樣就會出現路由沖突,兩個網路的訪問都會出現問題。我們需要手動配置路由,才能實現同時訪問兩個網路。運行cmd(win需要管理員許可權) 第一步: route delete 0.0.0.0 ::刪除所有的0.0.0.0的路由 第二步:route -p add 0.0.0.0 mask 0.0.0.0 mask 192.168.1.1 ::添加0.0.0.0網路路由,這個是預設時路由用192.168.1.1,加上-p的目的是設為靜態(永久)路由,防止下次重起時配置消失。 第三步: route -p add 192.168.42.0 mask 255.255.255.0 192.168.42.132 ::添加192.168.42.0網段路由為192.168.42.132內網路由,可以根據需要調整ip段和子網掩碼太到多網段內網路由的效果。 執行後,永久路由就多了二項了 因為上面我們添加的是靜態路由
『陸』 linux使用雙網卡上外網,怎麼自動切換
公司業務需求,一台伺服器,雙網卡,需要同時訪問外網和內網。在設置過程中,同事反映原本好用的內網地址(192.168.1.100)在設置上外網地址後變的不好用,只要停止外網那個網卡內網就可以正常訪問了。
其實是因為,你先設置了內網之後,又設置外網,在給外網設置了網關之後,由於沒有設置默認網關,導致,內網的IP也會走外網的網關,肯定是不可以的。我們要做的僅僅是讓內網走自己的網卡
內網網卡:eth0 192.168.1.100 網關:192.168.1.100
外網網卡 : eth1 119.222.222.222 網關:119.222.222.1
首先設置默認網關,讓所有IP包默認情況下均通過 119.222.222.1 進行轉發:
route add default gw 119.222.222.1
然後,單獨為內網設置轉發特例,所有192.168開頭的,全部走eth0
route add -net 192.168.0.0 netmask 255.255.0.0 dev eth0
路由添加的最好是要加到開機啟動上
vi /etc/rc.local
另:刪除默認網關的命令如下:
route del default
『柒』 在Linux上怎麼兩個網卡配同一個IP
linux中雙網卡的梆定
創建一個bond設備,三個簡單的步驟即可搞定:
(1)首先要保證相應的驅動程序已經載入:
localhost@root
~#
modprobe
bonding
或
modprobe
<3c59x|
eepro100|pcnet32|tulip|...>
(2)其次給等梆定bond設備分配IP地址
localhost@root
~#
ifconfig
bond0
<IP地址>
netmask
<子網掩碼>
broadcast
<廣播地址
>
例如
ifconfig
bond0
192.168.1.242
netmask
255.255.255.0
broadcast
172.31.3.254
(3)最後將所有要梆定的物理網卡介面添加到bond設備中去
localhost@root
~#
ifenslave
bond0
[{-f|--force}
bond0
eth0
[
eth1
[eth2]...]
例如
ifenslave
bond0
eth0
eth1
梆定了eth0
eth1兩個網卡設備。
--force
表示強制進行梆定
創建好bond設備後,就可以像一般的網卡設備一樣使用了
如啟動bond0:
#
ifconfig
bond0
up
停用bond0:
#
ifconfig
bond0
down
在不停用bond0的情況下添加介面:
#
ifenslave
{-d|
--detach}
bond0
eth0
[eth1
[eth2]...]
--detach表示"附加"的意思
改變活動的從設備:
#
ifenslave
{-c|--change-active}
bond0
eth0
--change-acitve
表示"改變活動的從設備"的意思
顯示主介面(指bond0)信息:
#
ifenslave
bond0
顯示所以介面信息:
#
ifenslave
{-a|--all-interfaces}
--all-interfaces
表示"所有介面"
『捌』 如何配置linux下雙網卡橋接
linux下雙網卡配置橋接如下
首先,配置linux伺服器端,將兩張網卡配置成橋接模式:
在/etc/sysconfig/network-scripts/文件夾下創建ifcfg-br0橋接介面配置文件,內容如下:
[root@N3 network-scripts]# vi ifcfg-br0
# Broadcom Corporation NetXtreme BCM5722 Gigabit Ethernet PCI Express
DEVICE=br0-----橋接介面命名為bro
TYPE=Bridge-----類型橋接模式
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.222----這部分是配置橋接介面的管理ip(類似svi口的ip)和網關等等。
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
NETWORK=192.168.1.0
將兩個介面加入橋接埠:
[root@N3 network-scripts]# vi ifcfg-eth0
# Broadcom Corporation NetXtreme BCM5722 Gigabit Ethernet PCI Express
DEVICE=eth4
BOOTPROTO=none
HWADDR=00:21:5E:47:31:98
ONBOOT=yes
BRIDGE=br0---加入橋接埠
IPV6INIT=no
PEERDNS=yes
NM_CONTROLLED=no
TYPE=Ethernet
USERCTL=no
[root@N3 network-scripts]# vi ifcfg-eth1
# Broadcom Corporation NetXtreme BCM5722 Gigabit Ethernet PCI Express
DEVICE=eth5
BOOTPROTO=none
HWADDR=00:21:5E:47:31:A0
ONBOOT=yes
BRIDGE=br0
IPV6INIT=no
PEERDNS=yes
NM_CONTROLLED=no
TYPE=Ethernet
USERCTL=no
配置完成後,需要重啟設備後,網卡橋接才能生效。
其次,在linux下開啟生成樹協議:
到目前為此我們可以看到,如果linux端配置成橋接模式,而交換機端也沒有開啟生成樹,整個網路是環路狀態。
我們要在交換機端開啟生成樹:spanning-tree
同時在linux端也開啟生成樹協議,通過如下命令開啟:
[root@SERVER2 ~]# brctl stp br0 on
可以通過如下命令查看linux伺服器生成樹狀態:brctl showstp br0
交換機端查看生成樹狀態:show spanning-tree summary
可以看到交換機端埠GI0/50被block了,兩端生成樹都生效了。
至此Linux下雙網卡橋接同時開啟生成樹保證網路拓撲不環路的方案就完成了。