Iptables

使用 nat 進行 libvirt 和網路過濾 - iptables 覆蓋

  • January 3, 2019

首先,我想說:我知道,最初做錯了,我想避免因為一般停機時間而從頭開始做所有事情。

我在 RHEL 上執行 libvirt/KVM。我有使用 NAT 網路配置文件(預設配置文件)執行的 VM。我已經通過 sysconfig/iptables 從主機設置了埠轉發等,一切都很好。

但是,如果 libvird 守護程序由於某種內部原因重新載入,或者接收SIGHUP- 它重新載入 iptables 配置並從其過濾配置文件中添加規則,即一切都按設計和記錄的方式工作(libvirt 和防火牆+ libvirt nwfilter 文件) - SW 沒有問題,這是配置問題。

但是一些規則REJECT在我需要它之前引入了 s,我無法通過轉發埠連接到機器,如下所示:

在此處輸入圖像描述

執行後service iptables restart- 一切都會像以前一樣工作。

有沒有辦法強制 libvirt 改變這兩個的順序或禁用這些特定的?

也許有人面臨完全相同的問題並準備好答案。

謝謝

您可以創建自己的 NAT 網路,這意味著 libvirt 不會添加任何防火牆規則。請參閱此libvirt Networking Handbook上的Custom NAT-based Network

我感覺到你的痛苦。我真的希望 libvirt 能更好地支持這一點。

創建一個腳本,在您的訪客上應用埠轉發防火牆規則。請務必使用iptables -I,以便在 libvirt 的 REJECT 規則之前插入您的規則。

每次 libvirt 啟動或重新載入時,您都需要使用掛鉤來執行該腳本。

此外,您應該確保 libvirt 和埠轉發的規則沒有保存在*/etc/sysconfig/iptables*中。讓 libvirt 和你的鉤子設置它們。

引用自:https://serverfault.com/questions/565871