靜態路由配置
前置:
配置路由有兩種方式:
- 動態路由:不需要人工配置,路由器設定好之後,它會自動進行路由線路學習
- 靜態路由:需要人工配置
路由器其實解決的就是不同網段之間主機的通訊問題,如果是同一網段的,那麼直接一個arp廣播就搞定了,不同網段就需要路由器了
所以路由器本質上就是實現不同網段之間進行通訊!!!
接下來演示一下路由器靜態配置
第一步:準備3臺虛擬機器
- 第一臺網路卡配置NAT模式;第二臺配置兩個網路卡,分別為配置NAT模式 + LAN區段;第三臺配置LAN區段
第二步:配置網路卡相關資訊
-
先檢視宿主機(物理機)VMnet8網路卡的
IP
和子網掩碼
-
配置網路卡相關資訊【具體的根據自己的來調整】
-
第一臺
vim etc/sysconfig/network-scripts/ifcfg-ens33
# 修改主機名 hostnamectl set-hostname network01 # 重啟網路卡 systemctl restart network # 退出重新登入檢視網路卡的相關資訊 exit 登入 ip a
-
第二臺
除了ip地址換一下,但一定要在同一網段,修改最後一位即可,我上面那個是
192.168.129.160
,這一臺改為192.168.129.161
即可!子網掩碼不變
除此之外,還需要做一件事
cd /sysconfig/network-scripts cp ifcfg-ens33 ifcfg-ens36
修改ip地址,只要是內網地址就都可以,別上去一個公網ip,我的如下,ip改為
172.16.1.12
# 修改主機名 hostnamectl set-hostname network02 # 重啟網路卡 systemctl restart network # 退出重新登入檢視網路卡的相關資訊 exit 登入 ip a 就能看到有兩塊網路卡的具體資訊了
-
第3臺
其他不變,唯一的就是ip地址,這次要和第2臺主機的第二塊網路卡要處於一個網段,我改成
172.16.1.14
vim etc/sysconfig/network-scripts/ifcfg-ens33
# 修改主機名 hostnamectl set-hostname network03 # 重啟網路卡 systemctl restart network # 退出重新登入檢視網路卡的相關資訊 exit 登入 ip a 就能看到有這塊網路卡的具體資訊了
-
第三步:測試
# 用第二臺主機ping第一臺主機
ping 192.168.129.160
# 用第二臺主機ping第二臺主機
ping 172.16.1.14
這些都ping通就說明沒問題了,但是你會發現第一臺ping第三臺報錯Network is unreachable,網路不可達
說明我們的主機是不能跨ip地址段進行互相訪問的,我們設定一個路由規則就可以了。
第四步:設定靜態路由規則
剛才我們使用主機1ping主機3看到報錯,網路不可達,就是因為ping3主機的ip地址時,主機01發現你要找的ip地址不在我這個網段【192.168.129.0網段】,就會自動查詢路由表的記錄,看不到03主機所在網段的路由,所以報錯,找不到。
給主機1配置靜態路由:
# 新增一條靜態路由,訪問172.16.1.0這個網段,那麼先跳到192.168.129.161這個閘道器上,透過它去訪問,gw即設定閘道器,設定了路由的下一次跳轉位置
route add -net 172.16.1.0/24 gw 192.168.129.161
# ping主機2的第二塊網路卡的ip地址,也就是172那個網段的
ping 172.16.1.12
# 但是透過01ping主機3的話,還是ping不通,顯示的不是網路不可達了:而是卡住了,如何測試資料包是否到了主機3
tcpdump -i ens33 -nn
# 可以看到主機3也卡住不動,說明資料包沒到主機3,資料包丟了,主機2並沒有做轉發,需要配置一下轉發才行
給主機2開啟轉發功能:
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
cat /etc/sysctl.conf
sysctl -p # 讓配置生效
然後,先在主機2上抓個包,同時在用主機1ping
主機3
# 主機2
tcpdump -i ens33 -nn
# 主機3
tcpdump -i ens33 -nn
# 主機1 ping 主機3
ping 172.16.1.14
# 這個時候,資料包到了主機2,主機2給做了轉發到了 172.16.1.14,但是主機1ping並沒有收到回應的資料包,這是因為主機3不知道該怎麼回給主機1,看主機3的路由表就知道了:
給主機3也加上一條靜態路由規則
route add -net 192.168.129.0/24 gw 172.16.1.12
再用主機1ping
主機3就可以ping通了。
這就是透過虛擬機器來模擬了靜態路由規則的設定方式。