linux 虛擬機模擬配置網絡路由環境-簡版
阿新 • • 發佈:2017-09-09
邊界 標準 face war 網絡路由 add gateway 網卡配置 table 前言:網絡路由不管是平常在家裏,還是在公司中,都是必需配置的,所以還是非常重要的,今天小編就給大家做個配置網絡路由配置的小實驗,僅供大家參考。
一、首先,來簡單介紹一下網絡路由。
1. 網絡路由:將網絡連接起來並將網絡信息導向其他網絡上,通常網絡信息全自動尋找多個路由器,並選擇效率最高的路由。
網絡路由器,工作在OSI的第三層絡層,連接廣域網,外部互聯網,分隔廣播域,最重要的是它其中的路由表。
2. 路由表
(1)路由表:邏輯地址路徑問題,選擇路由表中到達目標最好的路徑轉發數據,由多個路由記錄組成
(2)路由表構成:由4項組成部分
① 目標網絡的網絡ID netid ,由此分為三種路由
主機路由:主機地址
網絡路由:網絡ID
默認路由:未知地址
② 子網掩碼 netmask
③.接口 interface,發往目標,從哪個接口發出去
④.網關 gateway:下一個路由器的臨近本路由器的接口的IP
-net[/-host] IP/子網 刪除網絡[/主機]路由
例:route del -net 10.1.0.0/16
route del default gw gateway刪除默認路由
② ip route(新命令)
ip route [show|list] 查看路由信息
ip route add 選項 via gateway 添加路由
網絡路由:NETWORK/MASK
主機路由:IP
例:ip route add 192.168.0.0/24 via 172.16.0.1 加網絡路由
ip route add 192.168.1.13 via 172.16.0.1 加主機路由
ip route add default via GW 加默認路由,用於路由的邊界處
例:ip route add default via 172.16.0.1
ip route del TARGET 刪除路由
ip route flush [dev IFACE] [via PREFIX] 清空路由表
例:ip route flush dev eth0
③ /etc/sysconfig/network-scripts/route-接口(eth0)(系統默認沒有) route加的路由記錄的配置文件
? 註意:需service network restart 生效
? 兩種風格:不能混用
(a)TARGET via GW (多用)
如:10.0.0.0/8 via 172.16.0.1
(b)每三行定義一條路由 (少用)
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
④ netstat -nr 顯示內核路由表
windows查詢路由表:route print
三、實驗:配置路由環境
? 實驗工具:4臺虛擬機(可以克隆虛擬機來完成這個實驗,克隆後記得修改MAC地址)
A機器 R1路由器 R2路由器 B機器
? 實驗過程:
(1)構思路由環境
二、查詢、添加、刪除路由記錄的幾個命令 ① route(舊命令) 路由管理命令,沒保存到配置文件中時,開機無效 route -n 查看路由信息 route add -net[/-host] IP/子網 gw gateway 添加網絡[/主機]路由 例:route add -net 10.1.0.0/16 gw 10.2.0.200 route add default gw gateway 添加默認路由 例:route add default gw 10.2.0.200 或route add -net 0.0.0.0 netmask 0.0.0.0 gw gateway 添加默認路由 例:route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.2.0.200 route del
(2)準備工作:把4臺機器“物理的連到一起” ① 根據上圖,我們需要分三個網段:VMnet11、VMnet12、VMnet13 ② 分別把A機器、R1路由器兩個接口、R2路由器兩個接口、B機器放到對應的網段: A—>VMnet11 R1的eth0接口—>VMnet11 R1的eth1接口—>VMnet12 R2的eth0接口—>VMnet12 R2的eth1接口—>VMnet13 B—>VMnet13
(3)查詢接口名,若錯誤(不是我們習慣的eth0、eth1),修改。 ① 為了標準化,把centos 7 改為傳統命名方式(eth0、eth1)(這一步可以不需要) 編輯 /boot/grub2/grub.cfg,在第一個linux16的行尾加上net.ifnames=0,重啟才有效 ② vim /etc/udev/rules.d/70-persistent-net.rules 編輯網絡接口配置文件 ③ 修改完配置文件一般都不會生效,所以需要下面的操作 ethtool -i ethX 查詢接口對應的網卡驅動名,第一行就是對應的網卡名 rmmod 網卡名 卸載對應的網卡 modprobe 網卡名 重啟網卡,接口名就改好了 (4)添加需要的IP地址,註意:A、B兩個機器需要配置網關,兩個路由R1、R2不需要設置網關。 1.centos 6 中修改IP方法 vim /etc/sysconfig/network-scripts/ifcfg-ethX 修改網卡配置文件 重啟服務 service network restart 生效 2.centos 7 中修改IP方法 ① 當然也可以修改配置文件,不推薦,因為7中有很好的命令 ② nmcli 命令,直接生效,因為該命令用法太多,就不詳講了,大家可以根據下面的命令把IP地址設置好 nmcli connection add type ethernet con-name eth0 ifname eth0 ipv4.method manual ipv4.addresses 6.1.0.100/16 ipv4.gateway 6.1.0.200 添加eth0的ip為6.1.0.100/16,網關為6.1.0.200 nmcli connection modify eth0 ipv4.method manual ipv4.addresses 6.1.0.100 ipv4.gateway 6.1.0.200 修改eth0的ip為6.1.0.100/16,網關為6.1.0.200 nmcli connection up eth0 啟用eth0 (5)添加兩個路由器的路由記錄,可以用上面介紹的命令,根據(1)的構思表添加 R1:route add default gw 6.2.0.201 R2:route add default gw 6.2.0.200 route -n 查詢一下 (6)開啟兩個路由的路由功能,因為是用linux虛擬機作為路由器,所以需打開路由功能。 echo 1 > /proc/sys/net/ipv4/ip_forward (7)關閉防火墻 iptables -vnL 查看防火墻策略 centos6 chkconfig iptables off 設置開機不開啟防火墻 servcie iptables stop 關閉防火墻 centos7 systemctl disable firewalld 設置開機不開啟防火墻 systemctl stop firewalld 關閉防火墻 (8)實驗檢測 用ping 命令檢測,各段都能ping通。 A—>VMnet12:ping 6.2.0.201 A—>VMnet13:ping 6.3.0.100 四、路由協議 小型網絡的配置,可以手動自己設置;大型網絡,可以通過路由協議自動生成 路由協議:R2P(路近,經過路由器越少) OSPF(速度快,綜合考慮) BGP EIERP(思科專有) 結語:好了,小實驗做完了,雖然實驗很簡陋,但是其中的原理還是很值得學習的,當然,做實驗的過程中會有很多各種各樣的錯誤,有什麽搞不定,可以評論一起討論~
linux 虛擬機模擬配置網絡路由環境-簡版