0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Linux下配置永久路由的幾種方式

馬哥Linux運維 ? 來源:博客園varlemon ? 2024-10-23 13:46 ? 次閱讀

Linux下路由配置命令

1. 添加主機路由

route add -host 192.168.1.11 dev eth0
route add -host 192.168.1.12 gw 192.168.1.1

2. 添加網(wǎng)絡(luò)路由

route add -net 192.168.1.11 netmask 255.255.255.0 eth0
route add -net 192.168.1.11 netmask 255.255.255.0 gw 192.168.1.1
route add -net 192.168.1.0/24 eth0
route add -net 192.168.1.0/24 gw 192.168.1.1

3. 添加默認(rèn)網(wǎng)關(guān)

route add default gw 192.168.1.1

4. 刪除路由

route del -host 192.168.1.11 dev eth0

5. 刪除默認(rèn)路由

route del default gw 192.168.1.1

Linux下配置永久路由的幾種方式

1. 在/etc/rc.local里添加路由信息

route add -net 192.168.1.0/24 dev eth0
# 或者
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

2. 在/etc/sysconfig/network里追加

GATEWAY=[網(wǎng)關(guān)IP或者網(wǎng)關(guān)網(wǎng)卡名稱]

3./etc/sysconfig/static-routes

any net 192.168.1.0/24 gw 192.168.1.1
# 或者
any net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

4. 開啟IP轉(zhuǎn)發(fā)

1.臨時開啟

echo "1" > /proc/sys/net/ipv4/ip_forward

2.永久開啟

vim /etc/sysctl.conf

修改net.ipv4.ip_forward=1

實驗:配置雙網(wǎng)卡主機同時使用內(nèi)網(wǎng)和外網(wǎng)

本實驗的背景是筆者在實踐中遇到過的一個問題,本實驗盡量還原當(dāng)時的網(wǎng)絡(luò)環(huán)境。僅當(dāng)做一份筆記,同時分享給遇到此問題的同學(xué)。
奈何我現(xiàn)在沒有硬件呀(T_T)...只能拿VMware WorkstationeNSP模擬實驗環(huán)境了。

問題背景

如下圖拓?fù)渌?,如果去掉client節(jié)點,內(nèi)網(wǎng)外網(wǎng)就是相互隔離的網(wǎng)絡(luò)。

但是實際情況是,client節(jié)點既需要訪問外網(wǎng)資源,又需要訪問內(nèi)網(wǎng)資源,而client只能配置一條默認(rèn)路由。如果將默認(rèn)路由配置在外網(wǎng)網(wǎng)卡,client可以訪問172.16.2.0/24網(wǎng)絡(luò)的資源和外網(wǎng)的資源,但是其余內(nèi)網(wǎng)資源將無法訪問;如果將默認(rèn)路由配置在內(nèi)網(wǎng)網(wǎng)卡,client雖然可以完全訪問內(nèi)網(wǎng)資源,但是卻不能訪問外網(wǎng)資源。
怎么解決呢?

實驗環(huán)境

VMware Workstation Pro

4臺最小化安裝的CentOS 7.3虛擬機

華為eNSP模擬器

實驗拓?fù)?/p>

9b01fe4c-90fa-11ef-a511-92fbcf53809c.png

去掉client節(jié)點,內(nèi)網(wǎng)和外網(wǎng)是隔離的網(wǎng)絡(luò)。
外網(wǎng)網(wǎng)絡(luò)為10.0.0.0/16,代表運營商的接入網(wǎng);
內(nèi)網(wǎng)網(wǎng)絡(luò)為172.16.0.0/16,代表內(nèi)網(wǎng)部分(該部分為了安全,不允許對互聯(lián)網(wǎng)的直接訪問)。
其中

client為雙網(wǎng)卡的主機,兩網(wǎng)卡網(wǎng)段分別為10.0.0.0/16、172.16.2.0/24;

server2為172.16.2.0/24網(wǎng)段的服務(wù)器;

server3為172.16.3.0/24網(wǎng)段的服務(wù)器;

server4為172.16.4.0/24網(wǎng)段的服務(wù)器。

網(wǎng)絡(luò)規(guī)劃

IP分配

節(jié)點名稱 IP地址 子網(wǎng)掩碼 備注
client 10.0.0.101 255.255.0.0 client的外網(wǎng)網(wǎng)卡
172.16.2.101 255.255.255.0 client的內(nèi)網(wǎng)網(wǎng)卡
Server2 172.16.2.11 255.255.255.0 172.16.2.0/24網(wǎng)段的某臺服務(wù)器
Server3 172.16.3.11 255.255.255.0 172.16.3.0/24網(wǎng)段的某臺服務(wù)器
Server4 172.16.4.11 255.255.255.0 172.16.4.0/24網(wǎng)段的某臺服務(wù)器
內(nèi)網(wǎng)路由器 172.16.2.254 255.255.255.0 172.16.2.0/24的網(wǎng)關(guān)
172.16.3.254 255.255.255.0 172.16.3.0/24的網(wǎng)關(guān)
172.16.4.254 255.255.255.0 172.16.4.0/24的網(wǎng)關(guān)

虛機網(wǎng)卡類型

網(wǎng)絡(luò)名稱 VMware網(wǎng)卡類型 網(wǎng)絡(luò)范圍
運營商網(wǎng)絡(luò) 橋接 10.0.0.0/16
VMnet2 僅主機 172.16.2.0/24
VMnet3 僅主機 172.16.3.0/24
VMnet4 僅主機 172.16.4.0/24

內(nèi)網(wǎng)路由器如何實現(xiàn)呢?
VMnet2、VMnet3、VMnet4均為僅主機模式,那么常規(guī)情況下,只有其網(wǎng)絡(luò)內(nèi)的各計算機之間才可以通信,要怎樣才能實現(xiàn)三個網(wǎng)絡(luò)間的通信呢?
答案是使用華為eNSP模擬器中的Cloud。使用Cloud設(shè)備可以將eNSP中的路由器和VMware虛擬機的網(wǎng)卡連接起來。

9b216778-90fa-11ef-a511-92fbcf53809c.png

配置內(nèi)網(wǎng)環(huán)境

配置eNSP的路由器

接口 IP地址 子網(wǎng)掩碼
G0/0/0 172.16.2.254 255.255.255.0
G0/0/1 172.16.3.254 255.255.255.0
G0/0/2 172.16.4.254 255.255.255.0

system-view
[huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip address 172.16.2.254 255.255.255.0
[Huawei-GigabitEthernet0/0/0]quit
[huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip address 172.16.3.254 255.255.255.0
[Huawei-GigabitEthernet0/0/1]quit
[huawei]int g0/0/2
[Huawei-GigabitEthernet0/0/2]ip address 172.16.4.254 255.255.255.0
[Huawei-GigabitEthernet0/0/2]quit
[huawei]

修改虛機的IP地址

client

網(wǎng)卡名稱 IP地址 子網(wǎng)掩碼 默認(rèn)網(wǎng)關(guān) 備注
ens33 10.0.0.101 255.255.0.0 10.0.0.1 外網(wǎng)網(wǎng)卡
ens37 172.16.2.101 255.255.255.0 內(nèi)網(wǎng)網(wǎng)卡

server2

網(wǎng)卡名稱 IP地址 子網(wǎng)掩碼 默認(rèn)網(wǎng)關(guān) 備注
ens33 172.16.2.11 255.255.255.0 172.16.2.254

server3

網(wǎng)卡名稱 IP地址 子網(wǎng)掩碼 默認(rèn)網(wǎng)關(guān) 備注
ens33 172.16.3.11 255.255.255.0 172.16.3.254

server4

網(wǎng)卡名稱 IP地址 子網(wǎng)掩碼 默認(rèn)網(wǎng)關(guān) 備注
ens33 172.16.4.11 255.255.255.0 172.16.4.254

在server上搭建HTTP服務(wù)

以server2為例:
使用Python創(chuàng)建一個簡單的HTTP服務(wù)

cd ~
echo "server2" > index.html
python -m SimpleHTTPServer 8080

9b37ed9a-90fa-11ef-a511-92fbcf53809c.png

對照試驗

在client上訪問外網(wǎng)

ping www.baidu.com -c 4

9b4f6ce0-90fa-11ef-a511-92fbcf53809c.png

在client上訪問server2

ping 172.16.2.11 -c 4

9b5ef110-90fa-11ef-a511-92fbcf53809c.png

在client上訪問server3

ping 172.16.3.11 -c 4

9b793692-90fa-11ef-a511-92fbcf53809c.png

在client上訪問server4

ping 172.16.4.11 -c 4

9b84ea64-90fa-11ef-a511-92fbcf53809c.png

在對照試驗中可以看到,在client將默認(rèn)網(wǎng)關(guān)配置在外網(wǎng)網(wǎng)卡的情況下,雙網(wǎng)卡的client可以正常訪問外網(wǎng)和內(nèi)網(wǎng)的172.16.2.0/24部分,而172.16.3.0/24和172.16.4.0/24是不能訪問到的。

為什么client能訪問172.16.2.0/24網(wǎng)絡(luò),而不能訪問172.16.0.0/16的其余網(wǎng)絡(luò)呢?
因為client位于172.16.2.0/24網(wǎng)絡(luò)內(nèi),在網(wǎng)絡(luò)內(nèi)進(jìn)行通信,數(shù)據(jù)包不用發(fā)送至其他網(wǎng)絡(luò),當(dāng)然默認(rèn)網(wǎng)關(guān)也就不起作用了。
而當(dāng)client與172.16.0.0/16的其余網(wǎng)絡(luò)通信時,client的路由表沒有記載發(fā)往目的地址的路徑,所以client只能傻傻的把數(shù)據(jù)包發(fā)送給默認(rèn)網(wǎng)關(guān),從此數(shù)據(jù)包和真正的目的地址就“南轅北轍”了。當(dāng)然ping的結(jié)果就是網(wǎng)絡(luò)不可達(dá)。

路由配置

在client上查看路由表

route

9b9d1652-90fa-11ef-a511-92fbcf53809c.png

在client上添加路由

route add -net 172.16.0.0/16 gw 172.16.2.254

永久配置,則在/etc/rc.local里添加路由信息

route add -net 172.16.0.0/16 gw 172.16.2.254

查看路由表

route

9baaef2a-90fa-11ef-a511-92fbcf53809c.png

實驗結(jié)果

檢測連通性

ping www.baidu.com -c 4

9bc7f106-90fa-11ef-a511-92fbcf53809c.png

ping 172.16.2.11 -c 4

9bd90572-90fa-11ef-a511-92fbcf53809c.png

ping 172.16.3.11 -c 4

9be6ace0-90fa-11ef-a511-92fbcf53809c.png

ping 172.16.4.11 -c 4

9bf40c5a-90fa-11ef-a511-92fbcf53809c.png

訪問內(nèi)外網(wǎng)資源

curl http://www.baidu.com/

9c09c428-90fa-11ef-a511-92fbcf53809c.png

curl http://172.16.2.11:8080/index.html
curl http://172.16.3.11:8080/index.html
curl http://172.16.4.11:8080/index.html

9c1442cc-90fa-11ef-a511-92fbcf53809c.png

解決的辦法很簡單,就是1條命令而已。
但是蘊藏在這條命令背后的原理、概念、理論,則需要我們進(jìn)行深究!

鏈接:https://www.cnblogs.com/connect/p/linux-static-route.html

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11304

    瀏覽量

    209476
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    684

    瀏覽量

    22021
  • 路由配置
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    792

原文標(biāo)題:Linux系統(tǒng)多網(wǎng)卡環(huán)境下的路由配置

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    Linux系統(tǒng)進(jìn)程的幾種狀態(tài)介紹

    文章對 Linux 系統(tǒng)進(jìn)程的幾種狀態(tài)進(jìn)行介紹,并對系統(tǒng)出現(xiàn)大量僵尸進(jìn)程和不可中斷進(jìn)程的場景進(jìn)行分析,使用常用的幾種工具進(jìn)行問題分析定位。
    發(fā)表于 11-24 16:15 ?1.3w次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)<b class='flag-5'>下</b>進(jìn)程的<b class='flag-5'>幾種</b>狀態(tài)介紹

    Linux下文件共享的幾種方式

    網(wǎng)絡(luò)的不同主機、主機與公網(wǎng)中的主機、主機與云服務(wù)器等等之間拷貝文件。那么在這樣的環(huán)境如何實現(xiàn)文件拷貝呢,我們來說說下面的幾種方式,看看你是否常用
    發(fā)表于 04-26 17:23 ?8610次閱讀

    路由器負(fù)載均衡怎么配置

    路由器負(fù)載均衡是一種重要的網(wǎng)絡(luò)技術(shù),它能夠?qū)⒍鄠€網(wǎng)絡(luò)連接的流量分配到多個路由器上,以提高網(wǎng)絡(luò)的性能和穩(wěn)定性。本文將詳細(xì)介紹路由器負(fù)載均衡的配置方法,包括負(fù)載均衡的實現(xiàn)
    的頭像 發(fā)表于 12-13 11:17 ?3348次閱讀

    路由器的配置

    要注意選擇對應(yīng)的串口(com1或com2)并配置串口參數(shù)。華為路由器均采用命令行的方式進(jìn)行配置,為了實驗順利進(jìn)行,先來介紹一Quidway
    發(fā)表于 12-07 14:09

    嵌入式Linux NFS方式應(yīng)用程序的實現(xiàn)

    嵌入式Linux NFS方式應(yīng)用程序的實現(xiàn):本文在以ARM9 內(nèi)核芯片,處理器為S3C2410 構(gòu)造的開發(fā)板系統(tǒng)上,詳細(xì)討論了如何配置嵌入式Lin
    發(fā)表于 08-02 14:48 ?39次下載

    Linux環(huán)境USB的原理、驅(qū)動和配置

    本文對 Linux 環(huán)境USB 的原理、驅(qū)動和配置進(jìn)行詳細(xì)介紹。隨著生活水平的提高,人們對 USB 設(shè)備的使用也越來越多,鑒于Linux 在硬件
    發(fā)表于 01-16 16:57 ?33次下載

    如何配置路由

    如何配置路由器 【實訓(xùn)目的】(1)熟悉路由器。(2)了解路由器的配置方式。(3)掌握
    發(fā)表于 12-07 14:09 ?3479次閱讀
    如何<b class='flag-5'>配置</b><b class='flag-5'>路由</b>器

    配置靜態(tài)路由

    配置靜態(tài)路由 用戶可以在全局配置模式通過命令 ip route
    發(fā)表于 06-09 23:51 ?903次閱讀
    <b class='flag-5'>配置</b>靜態(tài)<b class='flag-5'>路由</b>

    路由配置基礎(chǔ)手冊

    路由配置基礎(chǔ)手冊 一、基本設(shè)置方式
    發(fā)表于 04-01 13:37 ?676次閱讀

    linuxsamba服務(wù)器搭建配置

    linuxsamba服務(wù)器搭建配置是使用linux開發(fā)系統(tǒng)時經(jīng)常要配置的一步,只有這頻配置好,
    發(fā)表于 03-19 18:59 ?13次下載

    linux添加路由的方法

    linux添加路由的方法:
    發(fā)表于 05-26 09:44 ?3733次閱讀
    <b class='flag-5'>linux</b><b class='flag-5'>下</b>添加<b class='flag-5'>路由</b>的方法

    虛擬機:Linux查看路由信息的幾種方法

    虛擬機:Linux查看路由信息的幾種方法
    的頭像 發(fā)表于 06-22 15:24 ?8346次閱讀
    虛擬機:<b class='flag-5'>Linux</b>查看<b class='flag-5'>路由</b>信息的<b class='flag-5'>幾種</b>方法

    LinuxApache服務(wù)器的安裝和配置

    LinuxApache服務(wù)器的安裝和配置(現(xiàn)代電源技術(shù)的發(fā)展概況)-LinuxApache服務(wù)器的安裝和
    發(fā)表于 08-31 16:22 ?8次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>下</b>Apache服務(wù)器的安裝和<b class='flag-5'>配置</b>

    靜態(tài)路由是什么?靜態(tài)路由如何配置?

    靜態(tài)路由是一種路由方式,路由項由手動配置,而非動態(tài)決定。與動態(tài)路由不同,靜態(tài)
    的頭像 發(fā)表于 10-07 10:48 ?2.4w次閱讀
    靜態(tài)<b class='flag-5'>路由</b>是什么?靜態(tài)<b class='flag-5'>路由</b>如何<b class='flag-5'>配置</b>?

    Linux環(huán)境變量配置方法

    Linux上環(huán)境變量配置分為設(shè)置永久變量和臨時變量兩種。環(huán)境變量設(shè)置方法同時要考慮環(huán)境Shell類型,不同類型的SHELL設(shè)置臨時變量方法和設(shè)置永久變量對應(yīng)的
    的頭像 發(fā)表于 10-23 13:39 ?166次閱讀