Chinaunix首页 | 论坛 | 博客
  • 博客访问: 38274
  • 博文数量: 11
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 0
  • 用 户 组: 普通用户
  • 注册时间: 2016-06-14 13:55
文章分类

全部博文(11)

文章存档

2016年(11)

我的朋友

分类: LINUX

2016-08-10 16:15:41

原文地址:CentOS 7防火墙设置示例 作者:skykiker

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-all
public (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/tcp
firewall-cmd  --permanent --zone=internal --add-port=2224/tcp
firewall-cmd  --permanent --zone=internal --add-port=5405/udp
firewall-cmd  --reload


[root@node1 ~]# firewall-cmd  --list-all --zone=internal
internal (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

阅读(1319) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~