博主使用的redhat本身沒有iptables服務,也不能聯網安裝,因此,只能使用firewalld新增開放埠,以下是一些最基本的關於firewalld的命令:
啟動:
systemctl start firewalld
檢視狀態:
systemctl status firewalld
或者firewall-cmd --state
停止:
systemctl disable firewalld
禁用:
systemctl stop firewald
systemctl
status
firewalld
.service
firewall
-cmd--
state
我們還沒有做任何配置,default zone和active zone都應該是public,命令為:
firewall-cmd
--get-default
-zone
firewall-cmd
--get-active
-zones
firewall-cmd
--list
-services
其實這裡的每乙個服務名對應對應/usr/lib/firewalld/services下面乙個xml檔案,檔案有描述該服務用了什麼協議,對應的埠號,這些埠即為外界可以訪問的埠。
firewall-cmd
--get-services
你可以現在這裡找找有沒有你需要開啟的服務(例如websphere或者db2),如果沒有的話,根據上面說的,每乙個服務對應乙個xml,這時你就需要自己建立乙個xml檔案了。
5、檢視所有開啟的埠(博主在執行這條命令後沒有顯示任何東西,不知道是什麼原因):
firewall-cmd
--zone=
public
--list
-ports
在/usr/lib/firewalld/services,隨便拷貝乙個xml檔案到乙個新名字,比如ssh.xml,把裡面的short(這個改不改基本沒有什麼問題)、protocol、port,其中protocol可以通過命令:
netstat -anp | grep 你的埠號
顯示的第一列就是你所用到的協議,有時可能顯示tcp6
這種協議加序號的格式,依舊是tcp協議。例如websphere就是tcp協議,埠號為9060檔案新增好後,記住改名字,例如:websphere.xml,儲存在/usr/lib/firewalld/services目錄下。
然後更新防火牆規則:
firewall
-cmd--
reload
檢視還有哪些服務可以開啟,現在應該可以看到你新增的websphere服務。
此時就可以新增你的websphere服務到firewalld,執行命令:
firewall-cmd
--add-service
=websphere
這樣新增的service當前立刻生效,但系統下次啟動就失效,可以測試使用。要永久開發乙個service,加上 –permanent:
firewall
-cmd--
permanent--
add-
service=websphere
這時候你的9060埠就可以被外網訪問,你可以試試telnet命令看看有沒有成功。
網上有的說此時還得再重啟一下firewalld服務才可以真正成功,假如你的外網依舊無法telnet的話,可以試試重啟一下firewalld服務。
下面是一篇關於講解firewalld的文章:firewalld的結構,有興趣的小夥伴可以自己看看。
firewall使用記錄
firewalld自身並不具備防火牆功能 和iptables一樣需要通過核心的netfilter來實現 兩者作用都是維護規則 systemctl是centos 7的service和chkconfig融合工具 firewall安裝 yum install firewalld firewall conf...
Linux 防火牆 Firewall 的使用
linux中有兩種防火牆軟體,conteros7.0以上使用的是firewall,conteros7.0以下使用的是iptables,本文僅介紹 firewall 的使用。開啟防火牆 systemctl start firewalld關閉防火牆 systemctl stop firewalld檢視防...
linux學習筆記 firewall
修改網絡卡 etc sysconfig network script ifcfg eno16777726 nm connection editor 網絡卡編輯器 nmtui 桌面右上角修改網絡卡 iptables 五個鏈 input output forward prerouting postrou...