neutron openvswitch agent實現安全性群組的方法

來源:互聯網
上載者:User

標籤:計算   plugin   方法   driver   etc   open   報文   .com   調用   

關於openstack安全性群組,採用一問一答的形式記錄如下

    1. 是載入在計算節點的還是網路節點的?

           是載入在計算節點的

    2. 是使用iptable規則實現的嗎?

          M版的neutron實現了openvswitch 基於流表的防火牆

          之前常見的是用iptables實現的,一般會建立neutron-openvswi-XXX鏈

    3. iptables實現的防火牆方法中,添加的規則都是accept,其餘的包都是drop的嗎?

      是的添加的規則一般都在最後預設drop規則的前面return掉。安全性群組利用iptables實現原理如下

  其中需要說明兩點

(1). ipset

  0 0 RETURN all -- any any anywhere anywhere match-set NIPv4de0fc679-6a26-43d6-a3f6- src,規則的意思是利用ipset來指定src集合,在這個集合中的srcIP報文都可以通過。

  通過命令ipset list可以查看到所有的ipset集合

[[email protected] var]# ipset list
Name: NIPv4de0fc679-6a26-43d6-a3f6-
Type: hash:net
Revision: 3
Header: family inet hashsize 1024 maxelem 65536
Size in memory: 16816
References: 1
Members:
192.168.188.19

Name: NIPv6de0fc679-6a26-43d6-a3f6-
Type: hash:net
Revision: 3
Header: family inet6 hashsize 1024 maxelem 65536
Size in memory: 17552
References: 1
Members:

 

(2).security-group 遠端

  如果選擇一個安全性群組作為來訪源地址,則該安全性群組中的任何雲主機執行個體都被允許使用該規則訪問任一其它雲主機。

  例如host-1綁定安全性群組default, host-2綁定安全性群組secg1, 這時在default中添加一條規則並且指定遠程為secg1, 那麼這條規則適用於src-ip是host-2的報文。

  

 4. neutron-openvswitch-agent實現firewall的代碼結構是怎麼樣的?

(1) 首先在/etc/neutron/plugins/ml2/openvswitch_agent.ini 中設定firewall_driver的類名(用於指定載入類的路徑),並開啟安全性群組開關。

#firewall_driver = <None>
#firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
firewall_driver = neutron.agent.linux.openvswitch_firewall.OVSFirewallDriver

enable_security_group = true

(2) 所有的firewall基於父類FirewallDriver,每種firewall都需要實現該父類的幾個介面;

     prepare_port_filter  : port建立時調用一次,初始化安全性群組資訊

    apply_port_filter

    update_port_filter    : port安全性群組更新時被調用

    remove_port_filter   : port安全性群組刪除時被調用

    filter_defer_apply_on

    filter_defer_apply_off

    ports

   defer_apply

   update_security_group_members

   update_security_group_rules

   security_group_updated

   這些介面由securitygroups_rpc.py調用。


neutron openvswitch agent實現安全性群組的方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.