實現虛擬機器上網及域名新增
一.虛擬機器上網
1.首先將真機變為路由器
systemctl stop libvirtd 關閉虛擬機器的libvirtd服務(因為防火牆與虛擬機器服務有衝突)
systemctl restart firewalld 啟動火牆(火牆開啟才會有地址偽裝功能)
systemctl start libvirtd 重啟虛擬機器libvirtd
firewall-cmd --permanent --add-masquerade(地址偽裝) 開啟真機的路由器功能 firewall-cmd --reload 更新防火牆規則 firewall-cmd --list-all 顯示真機的路由器列表,檢視是否配置成功
注意:以上操作需進入“root”模式
systemctl stop libvirtd 關閉虛擬機器的libvirtd服務(因為防火牆與虛擬機器服務有衝突)
systemctl restart firewalld 啟動火牆(火牆開啟才會有地址偽裝功能)
systemctl start libvirtd 重啟虛擬機器libvirtd
firewall-cmd --permanent --add-masquerade(地址偽裝) 開啟真機的路由器功能
firewall-cmd --reload 更新防火牆規則
firewall-cmd --list-all 檢視是否配置成功
提示:當我們看到上述內容時,
masquerade:yes
yes表示的我們將真機的路由器功能配置成功,但是如果是no的話,就是沒有配置成功
2.檢視當前主機ip
方法一:
ifconfig 檢視所有的網絡卡裝置資訊
方法二:
ip addr show br0 直接檢視 br0檔案
當前真機ip為:172.25.254.67
3.設定虛擬機器
vim /etc/sysconfig/network 全域性閘道器,針對所有沒有設定閘道器的網絡卡生效 GATEWAY=172.25.254.67 vim /etc/sysconfig/network-scripts/ifcfg-eth0 GATEWAY0=172.25.254.67 當網絡卡中設定的ip有多個時,指定對於那個ip生效 GATEWAY=172.25.254.67 當網絡卡中設定的ip只有一個時 route -n 檢視閘道器是否生效
使用ifconfig
檢視虛擬機器網絡卡資訊 如果發現有多張張網絡卡 則不可以使用全域性閘道器設定
4.設定完成後,在真機中ping
百度 ,獲得百度的ip.之後在虛擬機器中ping
百度的ip
由此可得百度的ip是180.97.33.108
注意:
如果ping 不通百度 .但步驟正確.可在真機中刪除虛擬機器所有網絡卡,且重新分配網絡卡,並重復虛擬機器中網絡卡配置步驟.
刪除與重建網絡卡步驟:
1.真機中執行virt-manager
2.點選Desktop選擇Open在點選左上方小燈泡,選擇網絡卡,點選Rmove,選擇Yes
3.刪除後點擊左下方Add Hardware然後選擇Network在Device model中選擇virtio,選擇右下角Cancel
二.域名的新增(DNS)
1.DNS是什麼:
域名系統(Domain Name System, DNS)是網際網路的核心應用層協議之一, 它用於查詢域名對應的IP地址.在使用域名訪問任何網路資源時都需要先進行域名解析.
2.手動新增
查詢百度域名 :220.181.112.244
vim /etc/hosts
手動新增百度域名可以直接ping通網址
3.自動解析
為了避免繁瑣.手動解析過於麻煩,所以可以使用自動解析
vim /etc/resolv.conf
先查詢真機的伺服器的IP地址.
在虛擬機器中開啟
vim /etc/resolv.conf
將nameserver修改為:192.168.43.1
新增完成後就不需要新增域名都可以ping通了比如
ping www.taobo.com
ping www.tianmao.com
ping www.4399.com
注意:
當網路工作模式為dhcp時
系統會自動獲得ip 閘道器 dns
那麼/etc/resolv.conf會被獲得到的資訊修改
如果不需要獲得dns資訊
PREEDNS=no
4.設定解析的優先順序
系統預設:
/etc/hosts > /etc/resolv.conf ##前者優先順序高於後者
vim /etc/nsswitch.conf
hosts: files dns /etc/hosts優先
將dns 新增到前面 ,
etc/resolv.conf dns 指向優先
比如: 將天貓的ip故意寫錯
在pin天貓
會發現依然ping通 因為dns有優先權所以解析正確