Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2952065
  • 博文数量: 199
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 4126
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-06 19:06
个人简介

半个PostgreSQL DBA,热衷于数据库相关的技术。我的ppt分享https://pan.baidu.com/s/1eRQsdAa https://github.com/chenhuajun https://chenhuajun.github.io

文章分类

全部博文(199)

文章存档

2020年(5)

2019年(1)

2018年(12)

2017年(23)

2016年(43)

2015年(51)

2014年(27)

2013年(21)

2011年(1)

2010年(4)

2009年(5)

2008年(6)

分类: LINUX

2016-07-30 22:23:47

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

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