您好,登錄后才能下訂單哦!
在公有云的環境中,經常需要對云主機的網絡環境進行控制,實現對虛擬機網絡流量的接收或者拒收。而nwfilter就可以實現這樣的功能,目前已經被廣泛地嵌套在KVM中,可以精準的實現以上的功能。
nwfilter目的是讓管理員在host上控制vm的每塊網卡。同一個nwfilter規則可以被不同vm重復使用,也可以為每個VM創建不同的filter規則。并且進入或者流出VM的流量無法避開nwfilter機制,因此這種限制就成為了強制性的,有點像linux中的iptables的功能。
默認存放在/etc/libvirt/nwfilter的文件夾中,一個xml文件代表一個設定的nwfilter規則,當你想指定一條nwfilter規則的時候,在這個目錄中新增一個xml文件即可。
Nwfilter是需要配置在虛擬機的xml文件中生效的,通過過虛擬機的xml文件增加一個<filterref filter='name-of-nwfilter'/>的參數,就可以實現對應的效果。
比如對“bridge1”這個虛擬機網橋,新增一個“drop80”的nwfilter的規則,這個規則的作用是將虛擬機的80端口進行封阻。那么,我們就可以這么做:
編寫一個drop80.xml的nw文件
<filter name='drop80' chain='root'>
<uuid>a1dadb35-3a7d-417d-8ca1-17d63036179b</uuid>
<rule action='drop' direction='out' priority='500'>
<tcp dstportstart='80' dstportend='80'/>
</rule>
</filter>
編輯完成之后聲明這個nw規則生效
virsh nwfilter-define limit
查看目前已經定義的nw規則
virsh nwfilter-list
將其應用到應用到虛擬機中
編輯某臺虛擬機的XML文件,在network部分中,加入以下的參數,就可以生效了。
[...]
<interface type='bridge'>
<source bridge='bridge1'/>
<filterref filter='drop80'/>
</interface>
[...]
以上就是關于nwfilter的基礎用法,下面我再舉個例子,希望可以幫助你更好地理解nwfilter的用法;
連接數限制
假設一個虛擬機只允許一個IP在同一之間發起一個ping鏈接。防止某個IP對虛擬機惡意***。
<rule action='drop' direction='out' priority='400'>
<icmp connlimit-above='1'/>
</rule>
<rule action='accept' direction='out' priority='500'>
<icmp/>
</rule>
<rule action='drop' direction='inout' priority='1000'>
<all/>
</rule>
好了,關于nwfilter的用法已經介紹完了,希望對你有幫助,具體的學習明細,你可以參考nwfilter的官方用法解析:
https://libvirt.org/formatnwfilter.html#nwfelemsRulesAdvorg/formatnwfilter.html#nwfelemsRulesAdv
睿江云官網鏈接:https://www.eflycloud.com/home?from=RJ0027
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。