Fedora

Fedora 21:Firewalld (firewall-cmd) 不會永久分配介面給區域?

  • January 8, 2018

我在這台機器上安裝了 Fedora,它是一個網關/防火牆系統。

安裝後,我執行’ yum upgrade’,所以它應該是最新的Fedora 21 - 我故意落後了一點(不是Fedora 22),所以希望解決任何問題(現在意識到也許我應該有Fedora 20 不見了?!)…

啟動後,我在盒子裡配置了兩個網卡各自的 IP 地址,重新啟動,確認它們沒問題,然後開始“防火牆”設置。首先,我跑了:

# firewall-cmd --list-all-zones

我確認 firewalld 正在使用的介面名稱與其他工具一致(不像過去的 Fedora 版本,例如 19 - 請參閱請求的 FC19 FirewallD 調試幫助:埠未轉發

要將介面放入正確的區域,然後我執行:

firewall-cmd --permanent --zone=external --change-interface=enp2s0
firewall-cmd --permanent --zone=internal --change-interface=enp5s4

..並繼續嘗試設置埠轉發等。有幾個步驟,例如打開埠,然後轉發它。然而,這些都沒有奏效。經過一番探勘,我發現這篇文章僅在幾天前發布,所以我認為它是最新的 - http://www.certdepot.net/rhel7-get-started-firewalld/ - 並按照它的建議進行編輯/etc/sysctl.conf和添加一行閱讀net.ipv4.ip_forward=1並啟動它# sysctl -p,然而,不幸的是,事情實際上“倒退”了……

以前,與轉發埠的連接嘗試掛起,但現在它們正在返回:

ssh: connect to host 167.101.97.2 port 6543: No route to host

因此,我試圖通過取消埠轉發和對 sysctl.conf 的編輯來恢復正常,但事情並沒有回到“原始!”

令人難以置信的是,我重新啟動,一切都設置為預設設置,我可以安裝的條件 - 除了那些區域更改;他們能有什麼害處?!但是當系統恢復正常時,介面已經回到了預設區域!

然後我又試了一遍。沒有!無論我做什麼,重啟後介面都停留在“FedoraServer”區域中。我已經在命令行的幾個不同位置嘗試了 –permanent 。每次響應都是“成功”,然而,每次結果都是它無法在重新啟動後倖存下來,即使這是重新啟動之間系統上唯一要做的事情。

…足以動搖一個人對他們(否則)最喜歡的 Linux 發行版的忠誠度!…不要讓我告訴你我的真實想法!

好的,這肯定是經過測試的;這是怎麼做的?(是的,我想了解埠轉發,但在這裡我只詢問在重新啟動後倖存的介面的區域更改。)

附加數據:

所以,我有這樣的想法,可能是 NetworkManager 妨礙了它,就像它過去經常做的那樣。然而,我在那裡的任何努力都沒有結果。第一個努力是在介面文件中簡單地設置 NM_CONTROLLED=“no” ,/etc/sysconfig/network-scripts但這會使系統沒有介面!

然後我不得不回到我的過去來記住它是以前存在的“network.service”,謝天謝地它已經安裝了。所以,我跑了:

systemctl disable NetworkManager.service
systemctl enable network.service

然後介面就可用了。但是,重新啟動後 - 並確保執行了必要的firewall-cmd命令(見上文) - 不幸的是,它再次不起作用。

然後我嘗試將 NM_CONTROLLED 值更改為“否”,但這也不起作用。

我不確定 firewalld 命令是否可以這樣做,但您可以在 ifcfg 文件中更改區域/etc/sysconfig/network-scripts— 分別在 edit ifcfg-enp2s0andifcfg-enp5s4和 add ZONE=externaland中更改ZONE=internal

這篇文章中的另一個解決方案:Centos7 無法將介面保留在指定區域中

在我的環境中測試並正常工作

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