欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

如何使用networknamespace創(chuàng)建一個(gè)router

這篇文章給大家介紹如何使用network namespace創(chuàng)建一個(gè)router,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站建設(shè)、做網(wǎng)站與策劃設(shè)計(jì),東海網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:東海等地區(qū)。東海做網(wǎng)站價(jià)格咨詢:18982081108

我們會(huì)通過一個(gè)稍微復(fù)雜(其實(shí)仍然相當(dāng)基本)的use case(兩個(gè)網(wǎng)絡(luò)間路由)探索網(wǎng)絡(luò)的設(shè)置。 路由使用的組件與連通內(nèi)部網(wǎng)絡(luò)相同,使用namespace創(chuàng)建一個(gè)隔離的container,允許subnet間的網(wǎng)絡(luò)包中轉(zhuǎn)。

記住我們?cè)诘谝黄恼轮兴f的,這只是使用OVS插件的例子。openstack還有很多插件使用不同的方式,我們提到的只是其中一種。

Use case #4: Routing traffic between two isolated networks

現(xiàn)實(shí)中,我們會(huì)創(chuàng)建不同的網(wǎng)絡(luò)用于不同的目的。我們也會(huì)需要把這些網(wǎng)絡(luò)連接起來。因?yàn)閮蓚€(gè)網(wǎng)絡(luò)在不同的IP段,我們需要router將他們連接起來。為了分析這種設(shè)置,我們創(chuàng)建另一個(gè)network(net2)并配置一個(gè)20.20.20.0/24的subnet。在創(chuàng)建這個(gè)network后,我們啟動(dòng)一個(gè)Oracle Linux的虛擬機(jī),并連接到net2。下圖是從OpenstackGUI上看到的網(wǎng)絡(luò)拓?fù)鋱D:

如何使用network namespace創(chuàng)建一個(gè)router

進(jìn)一步探索,我們會(huì)在openstack網(wǎng)絡(luò)節(jié)點(diǎn)上看到另一個(gè)namespace,這個(gè)namespace用于為新創(chuàng)建的網(wǎng)絡(luò)提供服務(wù)。現(xiàn)在我們有兩個(gè)namespace,每個(gè)network一個(gè)。

# ip netns list
qdhcp-63b7fcf2-e921-4011-8da9-5fc2444b42dd
qdhcp-5f833617-6179-4797-b7c0-7d420d84040c

可以通過nova net-list查看network的ID信息,或者使用UI查看網(wǎng)絡(luò)信息。

# nova net-list
+--------------------------------------+-------+------+
| ID                                   | Label | CIDR |
+--------------------------------------+-------+------+
| 5f833617-6179-4797-b7c0-7d420d84040c | net1  | None |
| 63b7fcf2-e921-4011-8da9-5fc2444b42dd | net2  | None |
+--------------------------------------+-------+------+

我們新創(chuàng)建的network,net2有自己的namespace,這個(gè)namespace與net1是分離的。在namespace中,我們可以看到兩個(gè)網(wǎng)絡(luò)接口,一個(gè)local,一個(gè)是用于DHCP服務(wù)。

# ip netns exec qdhcp-63b7fcf2-e921-4011-8da9-5fc2444b42dd ip addr
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
19: tap16630347-45:  mtu 1500 qdisc noqueue state UNKNOWN
    link/ether fa:16:3e:bd:94:42 brd ff:ff:ff:ff:ff:ff
    inet 20.20.20.3/24 brd 20.20.20.255 scope global tap16630347-45
    inet6 fe80::f816:3eff:febd:9442/64 scope link
       valid_lft forever preferred_lft forever


net1和net2兩個(gè)network沒有被聯(lián)通,我們需要?jiǎng)?chuàng)建一個(gè)router,通過router將兩個(gè)network聯(lián)通。Openstack Neutron向用戶提供了創(chuàng)建router并將兩個(gè)或多個(gè)network連接的能力。router其實(shí)只是一個(gè)額外的namespace。使用Neutron創(chuàng)建router可以通過GUI或者命令行操作:

# neutron router-create my-router
Created a new router:
+-----------------------+--------------------------------------+
| Field                 | Value                                |
+-----------------------+--------------------------------------+
| admin_state_up        | True                                 |
| external_gateway_info |                                      |
| id                    | fce64ebe-47f0-4846-b3af-9cf764f1ff11 |
| name                  | my-router                            |
| status                | ACTIVE                               |
| tenant_id             | 9796e5145ee546508939cd49ad59d51f     |
+-----------------------+--------------------------------------+

現(xiàn)在我們將兩個(gè)netwrok通過router連接:

查看subnet的ID:

# neutron subnet-list
+--------------------------------------+------+---------------+------------------------------------------------+
| id                                   | name | cidr          | allocation_pools                               |
+--------------------------------------+------+---------------+------------------------------------------------+
| 2d7a0a58-0674-439a-ad23-d6471aaae9bc |      | 10.10.10.0/24 | {"start": "10.10.10.2", "end": "10.10.10.254"} |
| 4a176b4e-a9b2-4bd8-a2e3-2dbe1aeaf890 |      | 20.20.20.0/24 | {"start": "20.20.20.2", "end": "20.20.20.254"} |
+--------------------------------------+------+---------------+------------------------------------------------+

將subnet 10.10.10.0/24添加到router:

# neutron router-interface-add fce64ebe-47f0-4846-b3af-9cf764f1ff11 subnet=2d7a0a58-0674-439a-ad23-d6471aaae9bc
Added interface 0b7b0b40-f952-41dd-ad74-2c15a063243a to router fce64ebe-47f0-4846-b3af-9cf764f1ff11.

將subnet 20.20.20.0/24添加到router:

# neutron router-interface-add fce64ebe-47f0-4846-b3af-9cf764f1ff11 subnet=4a176b4e-a9b2-4bd8-a2e3-2dbe1aeaf890
Added interface dc290da0-0aa4-4d96-9085-1f894cf5b160 to router fce64ebe-47f0-4846-b3af-9cf764f1ff11.

此時(shí),我們?cè)诓榭淳W(wǎng)絡(luò)拓?fù)鋾?huì)發(fā)現(xiàn)兩個(gè)網(wǎng)絡(luò)被router打通:

如何使用network namespace創(chuàng)建一個(gè)router

我們還可以發(fā)現(xiàn)兩個(gè)網(wǎng)絡(luò)接口連接到router,作為各自subnet的gateway。

我們可以看到為router創(chuàng)建的namespace。

# ip netns list
qrouter-fce64ebe-47f0-4846-b3af-9cf764f1ff11
qdhcp-63b7fcf2-e921-4011-8da9-5fc2444b42dd
qdhcp-5f833617-6179-4797-b7c0-7d420d84040c


我們進(jìn)入namespace內(nèi)部可以看到:

# ip netns exec qrouter-fce64ebe-47f0-4846-b3af-9cf764f1ff11 ip addr
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
20: qr-0b7b0b40-f9:  mtu 1500 qdisc noqueue state UNKNOWN
    link/ether fa:16:3e:82:47:a6 brd ff:ff:ff:ff:ff:ff
    inet 10.10.10.1/24 brd 10.10.10.255 scope global qr-0b7b0b40-f9
    inet6 fe80::f816:3eff:fe82:47a6/64 scope link
       valid_lft forever preferred_lft forever
21: qr-dc290da0-0a:  mtu 1500 qdisc noqueue state UNKNOWN
    link/ether fa:16:3e:c7:7c:9c brd ff:ff:ff:ff:ff:ff
    inet 20.20.20.1/24 brd 20.20.20.255 scope global qr-dc290da0-0a
    inet6 fe80::f816:3eff:fec7:7c9c/64 scope link
       valid_lft forever preferred_lft forever

我們看到兩個(gè)網(wǎng)絡(luò)接口,“qr-dc290da0-0a“ 和 “qr-0b7b0b40-f9。這兩個(gè)網(wǎng)絡(luò)接口連接到OVS上,使用兩個(gè)network/subnet的gateway IP。

# ovs-vsctl show
8a069c7c-ea05-4375-93e2-b9fc9e4b3ca1
    Bridge "br-eth3"
        Port "br-eth3"
            Interface "br-eth3"
                type: internal
        Port "eth3"
            Interface "eth3"
        Port "phy-br-eth3"
            Interface "phy-br-eth3"
    Bridge br-ex
        Port br-ex
            Interface br-ex
                type: internal
    Bridge br-int
        Port "int-br-eth3"
            Interface "int-br-eth3"
        Port "qr-dc290da0-0a"
            tag: 2
            Interface "qr-dc290da0-0a"
                type: internal
        Port "tap26c9b807-7c"
            tag: 1
            Interface "tap26c9b807-7c"
                type: internal
        Port br-int
            Interface br-int
                type: internal
        Port "tap16630347-45"
            tag: 2
            Interface "tap16630347-45"
                type: internal
        Port "qr-0b7b0b40-f9"
            tag: 1
            Interface "qr-0b7b0b40-f9"
                type: internal
    ovs_version: "1.11.0"

我們可以看到,這些接口連接到”br-int",并打上了所在network對(duì)應(yīng)的VLAN標(biāo)簽。這里我們可以通過gateway地址(20.20.20.1)成功的ping通router namespace:

如何使用network namespace創(chuàng)建一個(gè)router

我們還可以看到IP地址為20.20.20.2可以ping通IP地址為10.10.10.2的虛擬機(jī):

如何使用network namespace創(chuàng)建一個(gè)router

兩個(gè)subnet通過namespace中的網(wǎng)絡(luò)接口互相連通。在namespace中,Neutron將系統(tǒng)參數(shù)net.ipv4.ip_forward設(shè)置為1。命令查看如下:

# ip netns exec qrouter-fce64ebe-47f0-4846-b3af-9cf764f1ff11 sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

我們可以看到namespace中的系統(tǒng)參數(shù)net.ipv4.ip_forward被設(shè)置,這種設(shè)置不會(huì)對(duì)namespace外產(chǎn)生影響。

創(chuàng)建router時(shí),Neutron會(huì)創(chuàng)建一個(gè)叫qrouter-的namespace。subnets通過OVS的br-int網(wǎng)橋上的網(wǎng)絡(luò)接口接入router。網(wǎng)絡(luò)接口被設(shè)置了正確的VLAN,從而可以連入它們對(duì)應(yīng)的network。例子中,網(wǎng)絡(luò)接口qr-0b7b0b40-f9的IP被設(shè)置為10.10.10.1,VLAN標(biāo)簽為1,它可以連接到“net1”。通過在namespace中設(shè)置系統(tǒng)參數(shù)net.ipv4.ip_forward為1,從而允許路由生效。

關(guān)于如何使用network namespace創(chuàng)建一個(gè)router就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

新聞標(biāo)題:如何使用networknamespace創(chuàng)建一個(gè)router
標(biāo)題鏈接:http://www.chinadenli.net/article12/piiigc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣網(wǎng)站導(dǎo)航品牌網(wǎng)站設(shè)計(jì)響應(yīng)式網(wǎng)站品牌網(wǎng)站建設(shè)微信小程序

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)