NAT與網橋,單網卡多網段ip設置

虛擬機或docker容器上網有2種方式:橋接和NAT

(1)橋接的基本原理

配置成橋接網絡連接模式的虛擬機可以當作主機所在以太網的一臺獨立主機,虛擬系統和宿主機器的關係,就像連接在同一個Hub上的兩臺電腦,可以像主機一樣訪問以太網中的所有共享資源和網絡連接,可以直接共享主機網絡的互聯網接入線路訪問互聯網,互聯網也可以獨立的訪問該虛擬機。各虛擬機通過默認的VMnet0虛擬網卡與主機以太網連接,虛擬機間的虛擬網絡爲VMnet0。虛擬主機只需要配置與實體機同網段ip,相同的子網掩碼,DNS和網關。需要做的事(設置虛擬機VMnet0網橋橋接到物理網卡->設置虛擬機網卡橋接到網橋->配置虛擬機ip地址,DNS和網關->可能需要開啓本地主機的本地連接的VMware Bridge Protocal)

wKiom1hblG_gdA-AAAAyVxGQYEU651.png

設置一個虛擬機可以配置多個虛擬網卡從而獲得多個ip地址,只需要需改/etc/network/interfaces文件添加eth0的虛擬子網即可:

auto eth0

iface eth0 inet static

address 10.66.47.8

netmask 255.255.0.0

gateway 10.66.255.254

dns-nameservers 192.168.1.1

auto eth0:1

iface eth0:1 inet static

address 10.66.47.7

netmask 255.255.0.0

gateway 10.66.255.254

dns-nameservers 192.168.1.1

auto eth0:2

iface eth0:2 inet static

address 10.66.47.6

netmask 255.255.0.0

gateway 10.66.255.254

dns-nameservers 192.168.1.1

(2)NAT方式

使用NAT模式,就是讓虛擬系統藉助NAT(網絡地址轉換)功能,通過宿主機器所在的網絡來訪問公網。也就是說,使用NAT模式可以實現在虛擬系統裏訪問互聯網,但是互聯網不能訪問虛擬機。NAT模式下的虛擬系統的TCP/IP配置信息是由VMnet8(NAT)虛擬網絡的DHCP服務器提供的,無法進行手工修改,因此虛擬系統也就無法和本局域網中的其他真實主機進行通訊。採用NAT模式最大的優勢是虛擬系統接入互聯網非常簡單,你不需要進行任何其他的配置,只需要宿主機器能訪問互聯網即可。



同一個網卡,如何配置多個不同網段的ip地址?

這主要通過本機的路由表實現:配置不同ip的默認網關即可

1.首先在本地連接中爲網卡添加多個不同網段的ip,此時還沒有指定網關(只指定了默認網絡的網關,而默認網關是當主機的某個ip找不到網關時使用的網關,網絡爲0.0.0.0的網關)

2.使用route print查看本機的路由表

IPv4 路由表

===========================================================================

活動路由:

網絡目標        網絡掩碼          網關       接口   躍點數

          0.0.0.0          0.0.0.0    10.66.255.254       10.66.47.1    291

          0.0.0.0          0.0.0.0    10.66.255.254       10.66.47.8    291

        10.66.0.0      255.255.0.0            在鏈路上        10.66.47.8    291

        10.66.0.0      255.255.0.0            在鏈路上        10.66.47.1    291

       10.66.47.1  255.255.255.255            在鏈路上        10.66.47.1    291

       10.66.47.3  255.255.255.255            在鏈路上        10.66.47.1    291

       10.66.47.8  255.255.255.255            在鏈路上        10.66.47.8    291

        127.0.0.0        255.0.0.0            在鏈路上         127.0.0.1    331

        127.0.0.1  255.255.255.255            在鏈路上         127.0.0.1    331

  127.255.255.255  255.255.255.255            在鏈路上         127.0.0.1    331

    192.168.153.0    255.255.255.0            在鏈路上     192.168.153.1    291

    192.168.153.1  255.255.255.255            在鏈路上     192.168.153.1    291

  192.168.153.255  255.255.255.255            在鏈路上     192.168.153.1    291

        224.0.0.0        240.0.0.0            在鏈路上         127.0.0.1    331

        224.0.0.0        240.0.0.0            在鏈路上        10.66.47.1    291


===========================================================================

永久路由:

  網絡地址          網絡掩碼  網關地址  躍點數

          0.0.0.0          0.0.0.0    10.66.255.254     默認

          0.0.0.0          0.0.0.0    10.66.255.254     默認

         10.73.14.6     255.0.0.0       10.73.14.1      1

===========================================================================

從本機路由信息表中可以看到現在電腦上存在的路由,如圖:在網絡目標下對應的地址如果0.0.0.0的,說明是到所有網絡的,也就是說這是默認的路由,如果沒有其它明細路由存在的話,就都走這個路由了;這裏可以看到存在另一條10.0.0.0爲目的地址的路由,這條路由的意思就是如果要訪問10.0.0.0段地址的,走這條路由;如果不是,就全部走默認路由;


3.使用route add添加路由

一個主機不能同時存在兩個默認網關;其它的網關通過命令加在路由上就可以瞭如圖:用這個命令:route -p add 10.0.0.0 mask 255.255.255.0 10.73.14.1;其中route add 命令是加路由的意思,後面跟上目的地址,mask後面加匹配的掩碼,最後是網關地址,-p的意思是永久有效,因爲不加-p的話,一旦主機重新啓動之後,加的那條路由會消失的,所以一般都會加-p,當然如果是臨時用用的,可以不加-p;

當主機存在多個網卡時,需要添加主機訪問某個ip或網絡的靜態路由

route add -net 30.1.0.0 netmask 255.255.0.0 gw 20.1.1.1 dev eth0    指定訪問30.1.0.0網絡時必須通過eth0網卡,使用20.1.1.1網關


4.關於躍點數

同一個子網可以有多個躍點數,優先選擇躍點數小的路由規則。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章