程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> CentOS 7防火牆設置示例

CentOS 7防火牆設置示例

編輯:關於PHP編程

CentOS 7防火牆設置示例


CentOS 7防火牆設置示例

假設需要在CentOS 7上開放postgres,pcsd和corosync(這些是一個PostgreSQL HA集群的組成部分)的防火牆端口。下面是執行過程。

  • postgres:5432/tcp
  • pcsd:2224/tcp
  • corosync:5405/udp

5432是postgrs的默認端口,容易被探測到,建議改成非默認端口。

機器上有兩個網絡設備,一個是內網的一個公網的,這兩個網絡設備默認都綁在public區域。

[root@node1 ~]# firewall-cmd  --list-allpublic (default, active)  interfaces: eno16777736 eno33554984  sources:   services: dhcpv6-client ssh  ports:   masquerade: no  forward-ports:   icmp-blocks: echo-reply  rich rules: 

現在我們要在內網網絡上開放PostgreSQL HA集群需要用的端口。 上面的eno33554984就是內部網絡,先將其移到internal區域

firewall-cmd  --zone=internal --change-interface=eno33554984 

再在相應的ifcfg文件中添加"ZONE=internal"使其永久生效。

echo "ZONE=internal" >> /etc/sysconfig/network-scripts/ifcfg-eno33554984 

開啟PostgreSQL,pcsd和corosync的端口。

firewall-cmd  --permanent --zone=internal --add-port=5432/tcpfirewall-cmd  --permanent --zone=internal --add-port=2224/tcpfirewall-cmd  --permanent --zone=internal --add-port=5405/udpfirewall-cmd  --reload[root@node1 ~]# firewall-cmd  --list-all --zone=internalinternal (active)  interfaces: eno33554984  sources:   services: dhcpv6-client ipp-client mdns samba-client ssh  ports: 5432/tcp 2224/tcp 5405/udp  masquerade: no  forward-ports:   icmp-blocks:   rich rules: 

需要在公網上開放postgres端口給特定的機器訪問(比如192.168.0.213,當然這個地址是假的),可以使用rich-rule。

firewall-cmd --permanent --zone=public --add-rich-rule="rule family=ipv4 source address=192.168.0.213/32 port protocol="tcp" port="5432" accept"firewall-cmd  --reload

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved