什么是路由?
路由,是指通過相互連接的網(wǎng)絡(luò)把數(shù)據(jù)包從源站傳送到目的站的活動,在路由過程中數(shù)據(jù)包通常會經(jīng)過一個或多個中轉(zhuǎn)節(jié)點(diǎn)(即路由器),這些沿途的路由器會沿著一條最佳路徑轉(zhuǎn)發(fā)數(shù)據(jù)包,直至目的地。
什么是路由器?
路由器用于連接不同的網(wǎng)絡(luò),是網(wǎng)絡(luò)之間互相連接的樞紐。路由器的主要工作是為經(jīng)過路由器的每個數(shù)據(jù)包尋找一條最佳傳輸路徑,并將該數(shù)據(jù)有效地傳送到目的地。
什么是網(wǎng)關(guān)?
網(wǎng)關(guān)(GATEWAY)是在網(wǎng)絡(luò)層以上實(shí)現(xiàn)網(wǎng)絡(luò)互連。
實(shí)驗(yàn)1:模擬路由器,讓不在同一網(wǎng)段的兩臺主機(jī)可以ping通
首先,要確定哪個虛擬機(jī)要設(shè)置成路由器,并為這臺虛擬機(jī)添加兩個網(wǎng)卡。我這里是將server端設(shè)置為路由器。
在真機(jī)中,切換到超級用戶root,輸入命令:virt-manager
雙擊server,點(diǎn)擊“燈泡”
選擇Add Hardware ——>network——>Device model:選擇virtio——>Finish
然后給它設(shè)置兩個不同網(wǎng)段的ip,我這里設(shè)置的是172.25.254.224和1.1.1.224
將另一個虛擬機(jī)的ip設(shè)置為1.1.1.124
將設(shè)置為路由器的那臺虛擬機(jī)和同網(wǎng)段的主機(jī)ping一下,看看能不能ping通。
在路由端:
sysctl -a | grep ip_forward ##查看內(nèi)核路由是否開啟,1是打開,0是未開,如果不能通信說明為未開。
未開啟,在/etc/sysctl.conf文件中寫入:
sysctl -p 目的是讓它生效:
在防火墻開啟的情況下,開啟永久防火墻偽裝:
在客戶端此時未設(shè)置網(wǎng)關(guān),我們在/etc/sysconfig/network中設(shè)置網(wǎng)關(guān)(1.1.1.224),重啟網(wǎng)絡(luò)。
最后在客戶端嘗試ping172.25.254網(wǎng)段,發(fā)現(xiàn)成功了。
也能登陸真機(jī)
over!
實(shí)驗(yàn)2:虛擬機(jī)聯(lián)網(wǎng)
主要思想是將真機(jī)模擬為一個路由器
此時真機(jī)連上網(wǎng)了,可以ping通百度,查看真機(jī)的IP
sysctl -a | grep ip_forward ##查看內(nèi)核路由功能是否開啟
systemctl start firewalld ##打開防火墻
firewalld-cmd --add-masquerade ##開啟防火墻偽裝
在客戶端,將ip設(shè)置為和真機(jī)一個網(wǎng)段,我設(shè)置的是172.25.254.124
把網(wǎng)關(guān)設(shè)置為真機(jī)ip172.25.254.1,重啟
ping百度的ip183.232.231.172
可以通過輸入ip地址訪問百度了!
over!
注意:修改網(wǎng)關(guān)有兩種方式:
vim /etc/sysconfig/network-scripts/ifcfg-eth0 ##設(shè)置單獨(dú)的網(wǎng)卡的網(wǎng)關(guān)
vim /etc/sysconfig/network ##設(shè)置全局網(wǎng)關(guān)
設(shè)定全局網(wǎng)關(guān)對所有的網(wǎng)卡都生效,訪問外網(wǎng)時將所有的數(shù)據(jù)包都扔給這個網(wǎng)關(guān)。這兩種方式設(shè)定完成后都要重啟網(wǎng)絡(luò)。
以上所述是小編給大家介紹的Linux中設(shè)置路由以及虛擬機(jī)聯(lián)網(wǎng)詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!