国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Cisco思科網絡插件Contiv (四) 網絡策略實踐

jackzou / 1521人閱讀

摘要:網絡策略的作用可以通過網絡策略來限制容器之間的訪問行為,以實現用戶對安全性的方面的要求。搭建過程環境準備參考思科網絡插件一環境部署搭建環境,由于本文并不關注網絡的跨主機特性,因此只在一臺宿主機上啟動進程和進程就夠了。

網絡策略的作用

Contiv可以通過網絡策略來限制容器之間的訪問行為,以實現用戶對安全性的方面的要求。比如,我可以限制容器僅對源IP在特定范圍的其他容器開放特定的端口,而拒絕其他IP地址的容器的訪問。

搭建過程 環境準備

參考Cisco思科網絡插件Contiv (一) 環境部署搭建環境,由于本文并不關注Contiv網絡的跨主機特性,因此只在一臺宿主機上啟動master進程和plugin進程就夠了。

創建 contiv 網絡
root@node-1:/home/yc/workspace# netctl --netmaster http://172.16.112.128:9999 network create --subnet=10.100.100.1/24 contiv-net
Creating network default:contiv-net 

創建網絡 contiv-net,指定子網范圍是10.100.100.1/24

創建 Policy
root@node-1:/home/yc/workspace# netctl --netmaster http://172.16.112.128:9999  policy create web-policy
Creating policy default:web-policy 

創建名為web-policyPolicyPolicy的名字在租戶(tenant)的命名空間(namespace)是唯一的,這里沒有指定tenant參數, 因此使用的是 default 租戶

添加 rule

Policy創建后是空的,我們還需要為Policy添加規則(rule). 一個Policy可以包含多個rule,最終的行為也是這些rule的疊加。每條rule包含以下信息:

match criteria匹配規則,定義了rule的入口條件,滿足匹配規則的報文將執行設定的行為action, 匹配條件包括protocolportip-address

 `protocol`可選參數為**TCP**、**UDP**、**ICMP**
 `port`為需要允許或禁止的端口號
 `ip-address`為出方向流量的目的**IP**,或者入方向流量的源**IP**

direction 可選參數為inboundoutbound,分別代表入方向和出方向的規則

action 可選參數為allowdeny

priority指定該 rule 的優先級,默認是1,數值越大的rule優先級越高

from-group 設置rule生效的EndPoint組的名字(入方向)

to-group 設置rule生效的EndPoint組的名字(出方向)

from-network 設置rule生效的network的名字(入方向)

to-network 設置rule生效的network的名字(出方向)

舉例來說,我們要為我們的httpd容器設定以下行為:

容器屬于 groupA,開放tcp/80端口

只允許屬于 groupB 的容器訪問tcp/80端口

首先創建 groupAgroupB

root@node-1:/home/yc/workspace# netctl --netmaster http://172.16.112.128:9999  group create contiv-net groupA -policy=web-policy
Creating EndpointGroup default:groupA
root@node-1:/home/yc/workspace# netctl --netmaster http://172.16.112.128:9999  group create contiv-net groupB -policy=web-policy
Creating EndpointGroup default:groupB

創建 rule 1, 設置deny所有對tcp/80端口的訪問

root@node-1:/home/yc/workspace# netctl --netmaster http://172.16.112.128:9999  policy rule-add web-policy 1 -direction=in -protocol=tcp -port=80 -action=deny 

創建 rule 2, 設置allow groupBtcp/80端口的訪問

root@node-1:/home/yc/workspace# netctl --netmaster http://172.16.112.128:9999  policy rule-add web-policy 1 -direction=in -protocol=tcp -port=80 -action=deny 

查看設置的rule

root@node-1:/home/yc/workspace# netctl --netmaster http://172.16.112.128:9999  policy rule-ls web-policy
Incoming Rules:
Rule  Priority  From EndpointGroup  From Network  From IpAddress  To IpAddress  Protocol  Port  Action
----  --------  ------------------  ------------  ---------       ------------  --------  ----  ------
1     1                                                                         tcp       80    deny
2     10        groupB                                                          tcp       80    allow
Outgoing Rules:
Rule  Priority  To EndpointGroup  To Network  To IpAddress  Protocol  Port  Action
----  --------  ----------------  ----------  ---------     --------  ----  ------ 
啟動 httpd 容器
root@node-1:/home/yc/workspace# docker run -itd --net=groupA --name=http-server httpd
4af399efa8646001599a3345231c5c34026139c5e2fd9012e1cdeff4b9dde71b  

啟動名為http-server的容器,指定使用的網絡為groupA,啟動后通過docker network inspect命令可以看到容器分配的IP10.100.100.1

root@node-1:/home/yc/workspace# docker network inspect groupA
[
    {
        "Name": "groupA",
        "Id": "20bcf90e8be6bb9c0dd4a5bcfdfa1812a91aab9bef137f60747b3ccc8602227a",
        "Created": "2018-09-30T09:12:58.292952948-07:00",
        "Scope": "global",
        "Driver": "netplugin",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "netplugin",
            "Options": {
                "group": "groupA",
                "network": "contiv-net",
                "tenant": "default"
            },
            "Config": [
                {
                    "Subnet": "10.100.100.0/24"
                }
            ]
        },
  "Internal": false,
        "Attachable": true,
        "Ingress": false,
        "ConfigFrom": {
            "Network": ""
        },
        "ConfigOnly": false,
        "Containers": {
            "4af399efa8646001599a3345231c5c34026139c5e2fd9012e1cdeff4b9dde71b": {
                "Name": "http-server",
                "EndpointID": "935a57e40dc4d508cc254e6abe0b6b9ee5ae0a7dca7ec843c9dff146c8c5d859",
                "MacAddress": "02:02:0a:64:64:01",
                "IPv4Address": "10.100.100.1/24",
                "IPv6Address": ""
            }
        },
        "Options": {
            "encap": "vxlan",
            "pkt-tag": "2",
            "tenant": "default"
        },
        "Labels": {}
    }
]  
啟動 busybox 容器,訪問httpd

啟動兩個busybox容器, 分別指定使用groupAgroupB網絡, 嘗試訪問httpd容器的tcp/80端口

root@node-1:~# docker run -it --net=groupA --name=bbox-A busybox
/ # 
/ # wget http://10.100.100.1:80
Connecting to 10.100.100.1:80 (10.100.100.1:80)
wget: can"t connect to remote host (10.100.100.1): Connection timed out
/ #  
root@node-1:~# docker run -it --net=groupB --name=bbox-B busybox
/ # 
/ # wget http://10.100.100.1:80
Connecting to 10.100.100.1:80 (10.100.100.1:80)
index.html           100% |***************************************************************************************************************************|    45  0:00:00 ETA
/ #  

可見, bbox-B可以訪問httpd容器的tcp/80端口, 而bbox-A不能, 即Policy生效

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27526.html

相關文章

  • Cisco思科網絡插件Contiv (二) Master實現原理

    摘要:在當前版本中會注冊和兩個服務,前者開放端口供控制整個系統,后者開放端口供控制器使用。 Contiv網絡結構 showImg(http://contiv.github.io/assets/images/Contiv-HighLevel-Architecture-a619d55a.png); 上圖為Contiv的網絡模型,大體上可分為Master和Host Agent兩個組件,其中Mast...

    Pluser 評論0 收藏0
  • Cisco思科網絡插件Contiv (三) Plugin 實現原理

    摘要:網絡結構上圖為的網絡模型,大體上可分為和兩個組件其中運行在每臺宿主機上主要負責與交互實現插件邏輯配置底層進程實現具體的網絡功能組件是與交互的核心邏輯以常用的為例該邏輯即是實現框架下所規定的種種接口實現與的消息交互關于和請查看與框架與實現同 Contiv網絡結構 showImg(https://segmentfault.com/img/remote/1460000017001034?w=...

    DevTalking 評論0 收藏0
  • Cisco思科網絡插件Contiv (一) 安裝

    摘要:什么是官網是一個用于跨虛擬機裸機公有云或私有云的異構容器部署的開源容器網絡架構。作為業界最強大的容器網絡架構,具有層層和模式,能夠與思科基礎設施進行本地集成,并使用豐富的網絡和安全策略將應用意圖與基礎設施功能進行映射。 什么是Contiv Contiv (官網)是一個用于跨虛擬機、裸機、公有云或私有云的異構容器部署的開源容器網絡架構。作為業界最強大的容器網絡架構,Contiv具有2層、...

    EasonTyler 評論0 收藏0
  • 基于OVN的Kubernetes網絡架構解析

    摘要:它最基本的功能是實現了虛擬交換機,可以把虛擬網卡和虛擬交換機的端口連接,這樣一個交換機下的多個網卡網絡就打通了,類似的功能。最基礎的分布式虛擬交換機,這樣可以將多臺機器上的容器組織在一個二層網絡下,看上去就好像所有容器接在一臺交換機上。 【編者的話】Kubernetes經過了幾年的發展,存在著很多的網絡方案。然而網絡虛擬化在Kubernetes出現前就一直在發展,其中基于OpenVsw...

    dingding199389 評論0 收藏0
  • 當下最有價值的這18個云計算認證

    摘要:下面就讓我們來看看你應該考慮哪些最受歡迎的云計算認證。是一個國際機構,負責推動云計算專業人員的標準培訓和認證。目前,提供一個認證和五個云認證,范圍從專業云管理員到專業云解決方案架構師。關于IT,如果說有一點可以肯定的,那就是投資云永遠也不晚。隨著云對IT和整個業務越來越重要,對云技能的需求也只會越來越大。但是,要證明你在這個競爭激烈的就業市場中具有所需的技能和知識,可能是一件很難的事情。如果...

    Bryan 評論0 收藏0

發表評論

0條評論

jackzou

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<