国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

多網(wǎng)卡之指定程序訪問特定網(wǎng)卡

這篇具有很好參考價(jià)值的文章主要介紹了多網(wǎng)卡之指定程序訪問特定網(wǎng)卡。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

如果當(dāng)時(shí)有好好聽計(jì)算機(jī)網(wǎng)絡(luò)這門課,那下面聊的東西非常簡(jiǎn)單。

起因來自一次駐場(chǎng)開發(fā),所在工作環(huán)境需要用網(wǎng)線連接虛擬云桌面進(jìn)行操作,于是我就一會(huì)插網(wǎng)線云桌面開發(fā),又一會(huì)手機(jī)熱點(diǎn)騰訊會(huì)議,偶爾就會(huì)有一個(gè)問題,就是同時(shí)連著無線和有線的時(shí)候,要么無法訪問外網(wǎng)要么云桌面就會(huì)斷開,實(shí)在是麻煩。

當(dāng)時(shí)我的想法就是如果能控制不同的程序使用不同的網(wǎng)絡(luò)就好了,所以我也搜索了一下,但是才疏學(xué)淺也沒有抱著什么希望所以簡(jiǎn)單搜了下便放棄了。

直到某天我使用virtualBox創(chuàng)建虛擬機(jī)的時(shí)候,在網(wǎng)絡(luò)配置界面發(fā)現(xiàn)了有兩個(gè)網(wǎng)卡可以選擇,很明顯分別是線網(wǎng)卡和無線網(wǎng)卡,于是我創(chuàng)建兩個(gè)虛擬機(jī),分別選取不同網(wǎng)卡,發(fā)現(xiàn)可在兩個(gè)虛擬機(jī)下同時(shí)訪問外部網(wǎng)絡(luò)和云桌面系統(tǒng)。
在我看來虛擬機(jī)也是一個(gè)程序,它是怎么做到使用指定的網(wǎng)卡呢?

于是一個(gè)的名詞就來了:路由。

什么是路由?

路由(routing)是指分組從源到目的地時(shí),決定端到端路徑的網(wǎng)絡(luò)范圍的進(jìn)程 。路由工作在OSI參考模型第三層——網(wǎng)絡(luò)層的數(shù)據(jù)包轉(zhuǎn)發(fā)設(shè)備。路由器通過轉(zhuǎn)發(fā)數(shù)據(jù)包來實(shí)現(xiàn)網(wǎng)絡(luò)互連。雖然路由器可以支持多種協(xié)議(如TCP/IP、IPX/SPX、AppleTalk等協(xié)議),但是在我國絕大多數(shù)路由器運(yùn)行TCP/IP協(xié)議。路由器通常連接兩個(gè)或多個(gè)由IP子網(wǎng)或點(diǎn)到點(diǎn)協(xié)議標(biāo)識(shí)的邏輯端口,至少擁有1個(gè)物理端口。路由器根據(jù)收到數(shù)據(jù)包中的網(wǎng)絡(luò)層地址以及路由器內(nèi)部維護(hù)的路由表決定輸出端口以及下一跳地址,并且重寫鏈路層數(shù)據(jù)包頭實(shí)現(xiàn)轉(zhuǎn)發(fā)數(shù)據(jù)包。路由器通過動(dòng)態(tài)維護(hù)路由表來反映當(dāng)前的網(wǎng)絡(luò)拓?fù)?,并通過網(wǎng)絡(luò)上其他路由器交換路由和鏈路信息來維護(hù)路由表。以上來自百度百科。

舉個(gè)通俗的例子就好比快遞投遞的過程,一個(gè)包裹會(huì)根據(jù)省市區(qū)街道小區(qū)最終放到你家門口,放在網(wǎng)絡(luò)世界中,數(shù)據(jù)也要有他的路線指引,而路由就是這個(gè)路標(biāo)。

路由器查看了數(shù)據(jù)包的目的協(xié)議地址后,確定是否知道如何轉(zhuǎn)發(fā)該包,如果路由器不知道如何轉(zhuǎn)發(fā),通常就將之丟棄。如果路由器知道如何轉(zhuǎn)發(fā),就把目的物理地址變成下一跳的物理地址并向之發(fā)送。下一跳可能就是最終的目的主機(jī),如果不是,通常為另一個(gè)路由器,它將執(zhí)行同樣的步驟。當(dāng)分組在網(wǎng)絡(luò)中流動(dòng)時(shí),它的物理地址在改變,但其協(xié)議地址始終不變。

那么路由是怎么匹配轉(zhuǎn)發(fā)的呢?一般來說就是通過路由表進(jìn)行最長(zhǎng)匹配原則,路由表中會(huì)對(duì)ip進(jìn)行分段劃分,每一個(gè)ip段都對(duì)應(yīng)的下一跳的網(wǎng)絡(luò)地址,隨著一級(jí)級(jí)的路由跳轉(zhuǎn),最終將數(shù)據(jù)發(fā)送到請(qǐng)求地址。同樣在你的系統(tǒng)中也有一個(gè)路由表,可以理解為你的數(shù)據(jù)投遞過程中的第一站。

如何查看系統(tǒng)路由表,因?yàn)槲业氖莡bunu系統(tǒng),因此下面都是linux系統(tǒng)的操作指令,當(dāng)然window也是異曲同工。
查看路由表

route -n 
ubuntu:~$ route -n
內(nèi)核 IP 路由表
目標(biāo)             網(wǎng)關(guān)            子 網(wǎng)掩碼        標(biāo)志   躍點(diǎn)   引用     使用  接口
0.0.0.0         192.168.0.1     0.0.0.0         UG    600    0        0  eth1
0.0.0.0         146.10.0.1      0.0.0.0         UG  20600    0        0  eth2
192.168.146.1   0.0.0.0         255.255.255.0   U     600    0        0  eth1

隱去了真實(shí)信息,上面是我自己編寫的一個(gè)路由表,其中目標(biāo)ip和子網(wǎng)掩碼會(huì)計(jì)算出一個(gè)ip段,如果當(dāng)前請(qǐng)求地址處于這個(gè)ip段,那么數(shù)據(jù)包將會(huì)發(fā)到對(duì)應(yīng)的接口,也就是下一跳的地址中,其中192.168.146.1 就是我的虛擬機(jī)的ip,當(dāng)我創(chuàng)建了一個(gè)這個(gè)虛擬機(jī)的時(shí)候

所以我現(xiàn)在的目標(biāo)就是當(dāng)使用云桌面的時(shí)候,讓數(shù)據(jù)包轉(zhuǎn)發(fā)至有線網(wǎng)卡中,而其他的請(qǐng)求轉(zhuǎn)發(fā)至無線網(wǎng)卡中。比如現(xiàn)在云桌面的地址是147.20.0.111,那么如何在請(qǐng)求這個(gè)ip的時(shí)候讓其跳轉(zhuǎn)到有線網(wǎng)卡eth2中呢?

于是第二個(gè)的名詞就來了:子網(wǎng)掩碼(CIDR)。

什么是子網(wǎng)掩碼?

子網(wǎng)掩碼(subnet mask)又叫網(wǎng)絡(luò)掩碼、地址掩碼、子網(wǎng)絡(luò)遮罩,它用來指明一個(gè)IP地址的哪些位標(biāo)識(shí)的是主機(jī)所在的子網(wǎng),以及哪些位標(biāo)識(shí)的是主機(jī)的位掩碼。子網(wǎng)掩碼不能單獨(dú)存在,它必須結(jié)合IP地址一起使用。

通俗來說就是一種ip匹配規(guī)則,再直白點(diǎn)就是ip世界的正則表達(dá)式寫法,(只是為了方便理解)。
具體如何計(jì)算,大家可以自行檢索相關(guān)資料,在這里我簡(jiǎn)單說下計(jì)算規(guī)則。

比如一個(gè)ip 1.1.1.1,他的二進(jìn)制如下:
00000001 00000001 00000001 00000001
下面是子網(wǎng)掩碼
255.255.255.0
他的二進(jìn)制為
11111111 11111111 11111111 00000000 
通過IP地址的二進(jìn)制格式與子網(wǎng)掩碼的二進(jìn)制格式進(jìn)行and運(yùn)算,相等,說明處于同一個(gè)子網(wǎng),可以直接通信。
如果這句話還不明白,可以這么理解:根據(jù)子網(wǎng)掩碼從左到右,當(dāng)?shù)扔?的時(shí)候,表示ip對(duì)應(yīng)的位置不可變,等于0的時(shí)候,代表可變1或者0,因此通過上面的計(jì)算ip段為
00000001 00000001 00000001 00000000 
00000001 00000001 00000001 11111111
轉(zhuǎn)換為十進(jìn)制
1.1.1.0
1.1.1.255
這種情況下其中0是網(wǎng)絡(luò)地址,255為廣播地址,因此實(shí)際可用ip為1.1.1.1-1.1.1.254。

那么接下來我打算將147.20.0.0-147.20.255.255ip段指向網(wǎng)卡eth2,因此我需要設(shè)置ip 146.20.0.0的子網(wǎng)掩碼為255.255.0.0,于是執(zhí)行以下命令

#首先要?jiǎng)h除原來網(wǎng)卡自動(dòng)配置的路由表配置,具體可搜索route del用法
sudo route del -net 0.0.0.0 gw 146.1.224.1 
#接著增加新的路由表配置
sudo route add -net 146.15.0.0/16  gw 146.1.224.1 
#gw 是gateway網(wǎng)關(guān)的意思,可通過網(wǎng)卡屬性查看網(wǎng)關(guān)地址。

在這里使用了146.20.0.0/16的形式,這是子網(wǎng)掩碼的另一種表達(dá)方式:CIDR;

CIDR(Classless Inter-Domain Routing,無類域間路由選擇)它消除了傳統(tǒng)的A類、B類和C類地址以及劃分子網(wǎng)的概念,因而可以更加有效地分配IPv4的地址空間。它可以將好幾個(gè)IP網(wǎng)絡(luò)結(jié)合在一起,使用一種無類別的域際路由選擇算法,使它們合并成一條路由從而較少路由表中的路由條目減輕Internet路由器的負(fù)擔(dān)。

通俗來說就是子網(wǎng)掩碼的另一種形式,但是這種形式更加有效劃分網(wǎng)絡(luò)地址??梢栽?https://ip.liangwei.cc/network.html 這個(gè)網(wǎng)站計(jì)算CIDR值。

到此設(shè)置完路由表,打開程序?qū)崪y(cè)云桌面、外部網(wǎng)絡(luò)同時(shí)可用。
現(xiàn)在想來這些其實(shí)是大學(xué)期間計(jì)算機(jī)網(wǎng)絡(luò)很基礎(chǔ)的知識(shí),如果不是因?yàn)楣ぷ髦杏龅竭@個(gè)問題,估計(jì)我沒有機(jī)會(huì)重拾復(fù)習(xí)。而作為一名軟件研發(fā),不能僅停留來業(yè)務(wù)層面的CURD。文章來源地址http://www.zghlxwxcb.cn/news/detail-401980.html

到了這里,關(guān)于多網(wǎng)卡之指定程序訪問特定網(wǎng)卡的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Linux Shell如果ping失敗就重啟網(wǎng)卡(詳解)

    Linux Shell如果ping失敗就重啟網(wǎng)卡(詳解)

    直接上腳本 -------------------------------------------------------------------------- #vi? /tmp/ping_check.sh #!/bin/bash IP=\\\"1.1.1.1\\\" PacketLoss=`ping -c 4 -w 4 1.1.1.1 | grep \\\'packet loss\\\' | awk -F \\\'packet loss\\\' \\\'{print $1}\\\' | awk \\\'{print $NF}\\\'|sed \\\'s/%//g\\\'` if? [$Packetloss -eq 100] then echo \\\"ping failed `date`\\\" /tmp/ping_check_failed.log systemc

    2024年02月12日
    瀏覽(22)
  • 配置特定 IP 地址走指定網(wǎng)關(guān)

    公司有兩個(gè)日常上網(wǎng)用的路由器,分別接不同的兩條網(wǎng)線,雖然都是電信的,但是一條偶爾會(huì)抽風(fēng),我的 VPS 會(huì)連不上,也就是掛在上面的 SS 無法使用。恰好這根線是公司接臺(tái)式機(jī)的,也就是說平時(shí)上班偶爾會(huì)無法科學(xué)上網(wǎng)。 這對(duì)我來說幾乎是無法忍的,面對(duì)不能科學(xué)上網(wǎng)的

    2024年02月02日
    瀏覽(20)
  • 篩選特定內(nèi)容:Python中篩選DataFrame指定數(shù)據(jù)列包含特定內(nèi)容的所有數(shù)據(jù)行

    篩選特定內(nèi)容:Python中篩選DataFrame指定數(shù)據(jù)列包含特定內(nèi)容的所有數(shù)據(jù)行 在數(shù)據(jù)處理和分析中,經(jīng)常需要對(duì)數(shù)據(jù)進(jìn)行篩選以便找到我們需要的信息。而在Python中,使用Pandas庫中的DataFrame對(duì)象可以方便地對(duì)數(shù)據(jù)進(jìn)行處理和分析。 下面我們來看如何使用contains()函數(shù),篩選DataFr

    2024年02月14日
    瀏覽(28)
  • 1024程序員狂歡節(jié)有好禮 | 前沿技術(shù)、人工智能、集成電路科學(xué)與芯片技術(shù)、新一代信息與通信技術(shù)、網(wǎng)絡(luò)空間安全技術(shù)

    1024程序員狂歡節(jié)有好禮 | 前沿技術(shù)、人工智能、集成電路科學(xué)與芯片技術(shù)、新一代信息與通信技術(shù)、網(wǎng)絡(luò)空間安全技術(shù)

    ??歡迎來到 愛書不愛輸?shù)某绦蛟?的博客, 本博客致力于知識(shí)分享,與更多的人進(jìn)行學(xué)習(xí)交流 ?????? 點(diǎn)擊直達(dá)福利 一年一度的1024程序員狂歡節(jié)又到啦!成為更卓越的自己,堅(jiān)持閱讀和學(xué)習(xí),別給自己留遺憾,行動(dòng)起來吧! 那么,都有哪些好書值得入手呢?小編為大家整理

    2024年02月08日
    瀏覽(23)
  • git commit指定要提交的特定目錄、文件

    在 Git 中, git commit 命令用于將更改保存到本地倉庫。默認(rèn)情況下,它會(huì)將所有已修改的文件添加到提交中。然而,你可以使用不同的選項(xiàng)來指定要提交的目錄或文件。 要指定要提交的特定目錄,可以在 git commit 命令后面加上路徑。例如,假設(shè)你有一個(gè)名為 my_directory 的目錄

    2024年02月14日
    瀏覽(93)
  • CentOS 7系統(tǒng)開放指定或特定端口號(hào)命令

    在 CentOS 7 中,可以通過以下步驟來開放指定端口號(hào): 1、使用 root 或具有管理員權(quán)限的用戶登錄到 CentOS 7 服務(wù)器。 2、使用防火墻管理工具 firewalld 進(jìn)行端口開放。 firewalld 是 CentOS 7 默認(rèn)的防火墻管理工具。 3、檢查當(dāng)前防火墻的狀態(tài),確保 firewalld 服務(wù)已經(jīng)運(yùn)行并且正常工作

    2024年02月16日
    瀏覽(15)
  • 在 CentOS 7 中打開放指定或特定端口號(hào)

    在 CentOS 7 中,可以通過以下步驟來開放指定端口號(hào): 使用 root 或具有管理員權(quán)限的用戶登錄到 CentOS 7 服務(wù)器。 使用防火墻管理工具 firewalld 進(jìn)行端口開放。 firewalld 是 CentOS 7 默認(rèn)的防火墻管理工具。 檢查當(dāng)前防火墻的狀態(tài),確保 firewalld 服務(wù)已經(jīng)運(yùn)行并且正常工作??梢允?/p>

    2024年02月15日
    瀏覽(21)
  • git合并指定commit——git合并某個(gè)特定的提交commit到指定的分支上

    git合并指定commit——git合并某個(gè)特定的提交commit到指定的分支上

    git合并指定commit——git合并某個(gè)特定的提交commit到指定的分支上 1、應(yīng)用場(chǎng)景: 在A分支上提交了一個(gè)commit,B分支也同樣需要這個(gè)commit的代碼,為了避免人工復(fù)制代碼,可以用git的一些操作替代 2、操作步驟 1、在當(dāng)前A分支(deploy/t),通過 git log 先找到A分支的commit代號(hào)( 簡(jiǎn)

    2023年04月08日
    瀏覽(161)
  • SQL server設(shè)置用戶只能訪問特定數(shù)據(jù)庫、訪問特定表或視圖

    SQL server設(shè)置用戶只能訪問特定數(shù)據(jù)庫、訪問特定表或視圖

    在實(shí)際業(yè)務(wù)場(chǎng)景我們可能需要開放單獨(dú)用戶給第三方使用,并且不想讓第三方看到與業(yè)務(wù)不相關(guān)的表或視圖,我們需要在數(shù)據(jù)庫中設(shè)置一切權(quán)限來實(shí)現(xiàn)此功能: 1.創(chuàng)建用戶名 選擇默認(rèn)數(shù)據(jù)庫 服務(wù)器角色默認(rèn)為public 用戶映射選擇指定數(shù)據(jù)庫 打開需要開放權(quán)限的數(shù)據(jù)庫,這里我

    2023年04月09日
    瀏覽(230)
  • Linux只允許特定IP訪問特定端口

    目錄 1、查看/開啟/關(guān)閉防火墻 2、查看/開放/關(guān)閉端口 3、給指定的IP開放/關(guān)閉指定的端口 4、規(guī)則的持久化位置 5、其它命令 查看服務(wù)器的防火墻狀態(tài)可使用如下命令: 開啟和關(guān)閉防火墻命令如下: ?當(dāng)我們開啟了linux的防火墻后,對(duì)該服務(wù)器的網(wǎng)絡(luò)訪問將受到控制。 可通過

    2024年02月12日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包