Fedora 21:Firewalld (firewall-cmd) 不會永久分配介面給區域?
我在這台機器上安裝了 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
— 分別在 editifcfg-enp2s0
andifcfg-enp5s4
和 addZONE=external
and中更改ZONE=internal
。
這篇文章中的另一個解決方案:Centos7 無法將介面保留在指定區域中
在我的環境中測試並正常工作