日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux两个网段默认网关_Linux下配置多网卡多网关

發布時間:2025/3/21 linux 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux两个网段默认网关_Linux下配置多网卡多网关 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原標題:Linux下配置多網卡多網關

大家好,今天給大家介紹一下Linux下配置多網卡多網關的方法。@Hi-Linux

場景一 多運營商線路

比較典型的一種場景:一臺 Linux 服務器上有三個網口并接入三個不同運營商的網絡,以實現不同運營商用戶訪問其對應的網絡線路,來減少網絡延時。

服務器及對應網絡信息如下:

一臺 Ubuntu 16.04 server,這里一共使用三塊網卡。假定網絡信息如下:

網卡名稱

IP

網關

備注

enp0s5

192.168.100.212

192.168.100.1

電信線路

enp0s6

192.168.110.213

192.168.110.1

聯通線路

enp0s7

192.168.120.214

192.168.120.1

教育網線路

這里 IP 只是為了區分各運營商線路做的示例,實際情況請以運營商給出的網絡信息調整。

下面我們來看如何實現這樣的需求:

在 Linux 下一臺多網卡服務器不能同時配置兩個及以上的默認網關,因為默認網關(Default Gateway)只能配置一個,通過 gateway 參數配置的網關在這里實際為默認路由。

這里通過配置 Linux 下策略路由來實現,通過原線路返回的策略路由可以實現多線多 IP 同時在線。讓從同一運營商過來的請求由原運營商線路返回,比如:電信IP過來的請求按照電信路由返回,從網通IP過來的求從網通路由返回。

配置網絡

首先配置三塊網卡的基本網絡信息。$ vim /etc/network/interfacesauto enp0s5iface enp0s5 inet staticaddress 192.168.100.212netmask 255.255.255.0auto enp0s6iface enp0s6 inet staticaddress 192.168.110.213netmask 255.255.255.0auto enp0s7iface enp0s7 inet staticaddress 192.168.120.214netmask 255.255.255.0

重啟網絡$ /etc/init.d/networking restart

查看配置好的網絡情況$ ip a|grep enp0s2: enp0s5: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000inet 192.168.100.212/24 brd 192.168.100.255 scope global enp0s53: enp0s6: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000inet 192.168.110.213/24 brd 192.168.110.255 scope global enp0s64: enp0s7: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000inet 192.168.120.214/24 brd 192.168.120.255 scope global enp0s7

查看各網卡當前路由$ ip route show192.168.100.0/24 dev enp0s5 proto kernel scope link src 192.168.100.212192.168.110.0/24 dev enp0s6 proto kernel scope link src 192.168.110.213192.168.120.0/24 dev enp0s7 proto kernel scope link src 192.168.120.214 增加路由表

Linux 中的路由由路由規則和路由表組成。路由規則指定當數據包滿足規則時,應轉交到哪個路由表;路由表根據數據包的信息,選擇下一跳。

可通過 ip rule 看當前的路由策略,如:

$ ip rule0: from all lookup local32766: from all lookup main32767: from all lookup default

從這里也可以看出在內核中最多支持 32768 條路由規則。這里的 main 表是系統主要的路由表,所有的路由規則都寫在這個表中。

查看 main 表$ ip route list table main192.168.100.0/24 dev enp0s5 proto kernel scope link src 192.168.100.212192.168.110.0/24 dev enp0s6 proto kernel scope link src 192.168.110.213192.168.120.0/24 dev enp0s7 proto kernel scope link src 192.168.120.214

Linux 中支持 256 張路由表,編號為 0 到 255,可直接使用編號操作,也可使用編號的別名操作,編號和其別名的對應關系在 /etc/iproute2/rt_tables 文件中。

默認有 local,main,default 三個路由表,這三個路由表的名稱命名就來自 /etc/iproute2/rt_tables。

$ cat /etc/iproute2/rt_tables## reserved values#255 local254 main253 default0 unspec## local##1 inr.ruhep

注:數字范圍為0-255,但0、255、254、253是保留的,不能使用。

增加三個路由表

在 /etc/iproute2/rt_tables 配置文件里面添加三個不同的路由表別名。增加三個路由表分別是: enp0s5:ChinaTel、enp0s5:ChinaCnc、enp0s5:ChinaEdu。

$ echo "101 ChinaTel" >> /etc/iproute2/rt_tables$ echo "102 ChinaCnc" >> /etc/iproute2/rt_tables$ echo "103 ChinaEdu" >> /etc/iproute2/rt_tables

因為這三個路由表的只是用來響應來自不同接口的,所以只需要每個路由表里面建立默認網關即可。

$ ip route add default via 192.168.100.1 dev enp0s5 table ChinaTel$ ip route add default via 192.168.110.1 dev enp0s6 table ChinaCnc$ ip route add default via 192.168.120.1 dev enp0s7 table ChinaEdu

如果要指定某一源 IP,可以加上 src 參數。

$ ip route add default via 192.168.100.1 dev eth0 src 192.168.100.212 table ChinaTel

查看新增路由表中內容$ ip route show table ChinaTeldefault via 192.168.100.1 dev enp0s5$ ip route show table ChinaCncdefault via 192.168.110.1 dev enp0s6$ ip route show table ChinaEdudefault via 192.168.120.1 dev enp0s7

增加路由原路返回規則,使來自不同的口的走不同的路由表。$ ip rule add from 192.168.100.212 table ChinaTel$ ip rule add from 192.168.110.212 table ChinaCnc$ ip rule add from 192.168.120.212 table ChinaEdu

注意:此處原路是廣義上的說法,并不是請求的路徑與響應的路徑完全相同。

如果要指定規則優先級,可以加上 pref 參數。pref 即路由表內序號,如果不加 pref,則將在已有的規則最小序號前插入。

$ ip rule add from 192.168.100.212/32 table ChinaTel pref 100

查看新增的路由規則$ ip rule0: from all lookup local32763: from 192.168.120.212 lookup ChinaEdu32764: from 192.168.110.212 lookup ChinaCnc32765: from 192.168.100.212 lookup ChinaTel32766: from all lookup main32767: from all lookup default

如果需要修改某一條路由規則,可根據優先級刪除指定路由規則后重新增加:

$ ip rule del prio 32767

至此訪問三個網段中的任意一個地址都能夠連通了。即便是服務器上本身的默認路由都沒有設置,也能夠讓外面的用戶正常訪問。如果你要在默認路由表增加一個默認路由,可以使用如下命令:

$ ip route add default via 192.168.100.1 dev enp0s5$ ip route show table maindefault via 192.168.100.1 dev enp0s5192.168.100.0/24 dev enp0s5 proto kernel scope link src 192.168.100.212192.168.110.0/24 dev enp0s6 proto kernel scope link src 192.168.110.213192.168.120.0/24 dev enp0s7 proto kernel scope link src 192.168.120.214

main 表是系統主要的路由表,所有的默認路由規則都寫在這個表中。命令匯總 # 清空路由表ChinaTel$ ip route flush table ChinaTel# 為路由表 ChinaTel 添加默認路由 192.168.100.1$ ip route add default via 192.168.100.1 dev enp0s5 table ChinaTel# 根據源 IP 決定路由表$ ip rule add from 192.168.100.212 table ChinaTel# 清空路由表ChinaCnc$ ip route flush table ChinaCnc# 為路由表 ChinaCnc 添加默認路由 192.168.110.1$ ip route add default via 192.168.110.1 dev enp0s6 table ChinaCnc# 根據源 IP 決定路由表$ ip rule add from 192.168.110.212 table ChinaCnc# 清空路由表ChinaEdu$ ip route flush table ChinaEdu# 為路由表 ChinaEdu 添加默認路由 192.168.120.1$ ip route add default via 192.168.120.1 dev enp0s7 table ChinaEdu# 根據源 IP 決定路由表$ ip rule add from 192.168.120.212 table ChinaEdu 測試

驗證從 192.168.100.212 的包的路由選擇$ ip route get 8.8.8.8 from 192.168.100.212# 結果為8.8.8.8 from 192.168.100.212 via 192.168.100.1 dev enp0s5cache

驗證從 192.168.110.213 的包的路由選擇$ ip route get 8.8.8.8 from 192.168.110.213# 結果為8.8.8.8 from 192.168.110.213 via 192.168.110.1 dev enp0s6cache

驗證從 192.168.120.214 的包的路由選擇$ ip route get 8.8.8.8 from 192.168.120.214# 結果為8.8.8.8 from 192.168.120.214 via 192.168.120.1 dev enp0s7cache

外部測試$ ping 192.168.100.212$ ping 192.168.110.213$ ping 192.168.120.214

以上幾個 IP 均能 Ping 通。

保存路由設置

以上的路由設置會在系統或網絡重啟后被清理。因此需要將它保存下來,以防止系統或網絡重啟后失效。

方法一(推薦)

ip route save 可保存表的信息,如果表的項非常多,這個操作起來非常簡單;ip rule 沒有專門的保存命令,這里通過腳本實現。

先保存指定路由表的信息,這里以 ChinaTel 為例:

$ ip route save table ChinaTel > /root/route-ChinaTel.rules

恢復時可使用

$ ip route flush table ChinaTel && ip route restore table ChinaTel < /root/route-ChinaTel.rules

對規則的保存可使用以下的小腳本

$ vim ip-rule-dump.sh#!/bin/sh# ip-rule-dump.sh# 參數: table 編號或別名,無參數時 dump 除 local 之外的全部規則# 獲取 table 別名if [ -n "$1" ]; thenname=$(grep -v '^[[:blank:]]*#' /etc/iproute2/rt_tables |grep "[[:blank:]]*$1[[:blank:]]" | head -n 1 | awk '{print $2}')[ -z "$name" ] && name="$1"fi[ -z "$name" ] && name=".*"# 獲取并使用別名過濾規則ip rule show | grep -v "^0:" | grep -oP "from.*[[:blank:]]$name[[:blank:]]$" |sed -e 's/lookup/table/g'

給腳本賦予權限并保存指定的路由規則

$ chmod +x ip-rule-dump.sh$ ./ip-rule-dump.sh ChinaTel > /root/rule-ChinaTel.rules

對規則的恢復可使用以下的小腳本

$ vim ip-rule-restore.sh#!/bin/sh# ip-rule-restore.sh# 參數: dump 文件路徑if [ -n "$1" ] && [ -f "$1" ]; thencat $1 | while read line; dosudo ip rule add $linedonefi

給腳本賦予權限并恢復指定的路由規則

$ chmod +x ip-rule-restore.sh$ ip rule del table ChinaTel >/dev/null 2>&1 || :$ ./ip-rule-restore.sh /root/rule-ChinaTel.rules

開機加載

如果需要在網卡準備完成就加載,就需要在 /etc/network/interfaces 的對應網卡上,加上 post-up 的操作了,這里以加載電信路由信息為例:

$ iface enp0s5 inet static...post-up ( ip rule del table ChinaTel >/dev/null 2>&1 || : ) && bash /root/ip-rule-restore.sh /root/rule-ChinaTel.rules && ip route flush table ChinaTel && ip route restore table ChinaTel < /root/route-ChinaTel.rules

方法二

直接把命令加入啟動腳本中,以防止網絡重啟或系統重啟后配置失效。

配置 networking 啟動腳本文件 在結尾 exit 0 之前增加如下內容:

如果是 ubuntu/debian,網絡啟動腳本是 /etc/init.d/networking

如果是 RedHat/centos,網絡啟動腳本是 /etc/rc.d/init.d/network這里以 ubuntu 為例:

$ vi /etc/init.d/networkingip route flush table ChinaTelip route add default via 192.168.100.1 dev enp0s5 table ChinaTelip rule add from 192.168.100.212 table ChinaTelip route flush table ChinaCncip route add default via 192.168.110.1 dev enp0s6 table ChinaCncip rule add from 192.168.110.212 table ChinaCncip route flush table ChinaEduip route add default via 192.168.120.1 dev enp0s7 table ChinaEduip rule add from 192.168.120.212 table ChinaEduexit 0

退出并重啟網絡測試是否生效

$ /etc/init.d/networking restart 場景二 給指定網段分別設置網關

這種方法使用的是默認路由表,增加到指定網段的路由。

使用 route 指令$ route add -net 192.168.100.0/24 gw 192.168.100.1 dev enp0s5$ route add -net 192.168.110.0/24 gw 192.168.110.1 dev enp0s6$ route add -net 192.168.120.0/24 gw 192.168.120.1 dev enp0s7

參數說明

-net 設置到某個網段的路由

-host 設置到某臺主機的路由

gw 出口網關 IP地址

dev 出口網關 物理設備名

使用 ip 指令# 推薦使用 replace 指令$ ip route replace 192.168.100.0/24 via 192.168.100.1 dev enp0s5 onlink$ ip route replace 192.168.110.0/24 via 192.168.110.1 dev enp0s6 onlink$ ip route replace 192.168.120.0/24 via 192.168.120.1 dev enp0s7 onlink# 直接使用 add 指令,會報 RTNETLINK answers: File exists 錯。如果要使用 add 指令,可先刪除原默認的路由規則后再增加。$ ip route del 192.168.100.0/24$ ip route add 192.168.100.0/24 via 192.168.100.1 dev enp0s5 onlink

注意:一塊網卡只能設置一個網關,多個網關會發生沖突而無法成功配置。

如需增加默認路由,可使用以下指令:

使用 route 指令$ route add default gw 192.168.100.1 dev enp0s5

使用 ip 指令$ ip route add default via 192.168.100.1 dev enp0s5

如有多余的配置,可使用下面的命令進行刪除路由。

使用 route 指令$ route del -net 192.168.100.0/24 gw 192.168.100.1或者$ route del -net 192.168.100.0/24 dev enp0s5

使用 ip 指令$ ip route del 192.168.100.0/24 參考文檔

http://www.google.com

http://www.cnblogs.com/fengyc/p/6533112.html

https://github.com/ttop5/ttop5.github.io/issues/11

http://longwind.blog.51cto.com/419072/806302

http://blog.csdn.net/moreorless/article/details/5397427

http://memoryboxes.github.io/blog/2014/12/30/linuxshuang-wang-qia-shuang-lu-you-she-zhi/

如果你覺得內容很贊,還等什么?快快長按打賞吧,iOS的土豪們也是可以的喲!

責任編輯:

總結

以上是生活随笔為你收集整理的linux两个网段默认网关_Linux下配置多网卡多网关的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 免费在线观看网址 | 久久久久99精品成人片直播 | 欧美久久久久久久久久久久久久 | 91精选视频 | 天天操天天爽天天干 | av瑟瑟| 欧美毛片在线观看 | 四虎视频国产精品免费 | 无码人妻久久一区二区三区 | 免费在线观看a视频 | 91欧美大片 | 日本毛片网站 | 香蕉国产精品视频 | 日韩av网址大全 | 日韩视频免费观看高清完整版在线观看 | 丰满人妻一区二区三区四区 | 亚洲一级免费视频 | 日韩美女少妇 | 清纯唯美亚洲色图 | 女同亚洲精品一区二区三 | 扒开女人屁股进去 | 新香蕉视频 | 亚洲第一免费网站 | 青草草在线视频 | 亚洲а∨天堂久久精品2021 | 亚洲一区二区不卡在线观看 | 强行侵犯视频在线观看 | 成人精品在线观看 | 黄污视频网站 | jlzzjlzz亚洲女人18 | 欧美成人dvd在线视频 | 成人免费看av | 日韩久久一区二区三区 | 日韩精品一级 | 国产精品美女久久久久av超清 | 佐山爱av在线 | 天天操天天插天天干 | 91在线精品一区二区三区 | va视频在线 | av在线导航 | 一区二区三区网 | 免费看成人片 | 久久久亚洲精品无码 | 亚洲国产欧美自拍 | 久久久国产亚洲 | 美女又爽又黄又免费 | 啪啪的网站 | 国产精品高潮呻吟久久av黑人 | 亚洲免费一二三区 | 日韩欧美黄色 | 成人传媒 | 亚洲色欧美另类 | 老司机午夜福利视频 | 青青草国产一区 | 国产欧美精品国产国产专区 | 色天天综合网 | 成人久久一区二区 | 操操插插 | 久久久久亚洲av成人网人人网站 | 另类一区二区 | 无码国产精品高潮久久99 | 亚洲精品麻豆 | 国产一区二区三区免费视频 | 久久久久免费精品视频 | 中文字幕乱码亚洲无线三区 | 欧美天堂 | 一区二区日韩视频 | 国模在线观看 | 超碰免费视 | 日韩精品成人无码专区免费 | 亚洲热在线 | 另类小说五月天 | 777亚洲 | 色www国产亚洲阿娇 自拍一区在线 | 日本久久网站 | 欧美中出| www.中文字幕.com | 男人的天堂手机在线 | 真实乱视频国产免费观看 | 奇米综合网 | 日本精品一区在线 | 欧美另类自拍 | 欧美区亚洲区 | 日韩在线第一区 | 欧美少妇喷水 | 性欢交69国产精品 | 男人的天堂avav | 国产伦精品一区二区三区高清 | 色视频网址 | 麻豆成人精品国产免费 | 古装做爰无遮挡三级聊斋艳谭 | 深夜的私人秘书 | 帮我拍拍漫画全集免费观看 | 黄色片aaa| 男人的天堂一区 | 少妇愉情理伦片bd | 性a视频 | 日本免费网 | 国产日韩在线观看一区 |