什么是路由?
路由,是指通過相互連接的網絡把數據包從源站傳送到目的站的活動,在路由過程中數據包通常會經過一個或多個中轉節點(即路由器),這些沿途的路由器會沿著一條最佳路徑轉發數據包,直至目的地。
什么是路由器?
路由器用于連接不同的網絡,是網絡之間互相連接的樞紐。路由器的主要工作是為經過路由器的每個數據包尋找一條最佳傳輸路徑,并將該數據有效地傳送到目的地。
什么是網關?
網關(GATEWAY)是在網絡層以上實現網絡互連。
實驗1:模擬路由器,讓不在同一網段的兩臺主機可以ping通
首先,要確定哪個虛擬機要設置成路由器,并為這臺虛擬機添加兩個網卡。我這里是將server端設置為路由器。
在真機中,切換到超級用戶root,輸入命令:virt-manager

雙擊server,點擊“燈泡”

選擇Add Hardware ——>network——>Device model:選擇virtio——>Finish

然后給它設置兩個不同網段的ip,我這里設置的是172.25.254.224和1.1.1.224

將另一個虛擬機的ip設置為1.1.1.124

將設置為路由器的那臺虛擬機和同網段的主機ping一下,看看能不能ping通。

在路由端:
sysctl -a | grep ip_forward ##查看內核路由是否開啟,1是打開,0是未開,如果不能通信說明為未開。

未開啟,在/etc/sysctl.conf文件中寫入:

sysctl -p 目的是讓它生效:

在防火墻開啟的情況下,開啟永久防火墻偽裝:

在客戶端此時未設置網關,我們在/etc/sysconfig/network中設置網關(1.1.1.224),重啟網絡。


最后在客戶端嘗試ping172.25.254網段,發現成功了。

也能登陸真機

over!
實驗2:虛擬機聯網
主要思想是將真機模擬為一個路由器
此時真機連上網了,可以ping通百度,查看真機的IP

sysctl -a | grep ip_forward ##查看內核路由功能是否開啟
systemctl start firewalld ##打開防火墻
firewalld-cmd --add-masquerade ##開啟防火墻偽裝

在客戶端,將ip設置為和真機一個網段,我設置的是172.25.254.124

把網關設置為真機ip172.25.254.1,重啟

ping百度的ip183.232.231.172

可以通過輸入ip地址訪問百度了!

over!
注意:修改網關有兩種方式:
vim /etc/sysconfig/network-scripts/ifcfg-eth0 ##設置單獨的網卡的網關
vim /etc/sysconfig/network ##設置全局網關
設定全局網關對所有的網卡都生效,訪問外網時將所有的數據包都扔給這個網關。這兩種方式設定完成后都要重啟網絡。
以上所述是小編給大家介紹的Linux中設置路由以及虛擬機聯網詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!