AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 686260
Accepted
Routhinator
Routhinator
Asked: 2015-04-29 12:08:47 +0800 CST2015-04-29 12:08:47 +0800 CST 2015-04-29 12:08:47 +0800 CST

如何使用 PCS 强制 IPV4?(起搏器/Corosync)

  • 772

我正在为安全环境中的高可用性 Web 应用程序设置一个带有 DRBD 挂载的 Pacemaker/Corosync 集群。这是在 CentOS 7 上运行的。集群正在运行。然而,为了让这个系统为安全审计做好准备,我必须禁止所有应用程序监听 IPV6 并强制使用 IPV4。

我在系统范围内禁用了 IPV6:

# Contents of /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1

我还采取了在网络级别禁用 IPV6 的额外步骤:

# Contents of /etc/sysconfig/network
NETWORKING_IPV6=no
IPV6_AUTOCONF=no

但是 PCSD 坚持监听 IPV6 端口:

# netstat -lnptu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1206/sshd
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1837/master
tcp6       0      0 :::2224                 :::*                    LISTEN      486/ruby
udp        0      0 192.168.4.100:60618     0.0.0.0:*                           10932/corosync
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           460/avahi-daemon: r
udp        0      0 192.168.4.100:5405      0.0.0.0:*                           10932/corosync
udp        0      0 0.0.0.0:57120           0.0.0.0:*                           460/avahi-daemon: r
udp        0      0 192.168.4.100:40891     0.0.0.0:*                           10932/corosync

没有 IPV6 接口:

ip a l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:56:8d:d1:76 brd ff:ff:ff:ff:ff:ff
    inet 192.168.4.100/24 brd 192.168.4.255 scope global ens160
       valid_lft forever preferred_lft forever
    inet 192.168.4.110/24 brd 192.168.4.255 scope global secondary ens160
       valid_lft forever preferred_lft forever

我按照另一个论坛的建议从 /etc/hosts 中删除了 IPV6 环回:

# Contents of /etc/hosts
192.168.4.100   node1 node1.network.dmn
192.168.4.101   node2 node2.network.dmn
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 

我还看到了一个旧的错误报告,即禁用 IPV6 时 PCSD 无法启动。这已解决,我可以确认我的实例启动得很好,但是正如关于此错误的评论中所述,当 IPV6 被禁用时,PCSD 应该在 IPV4 上侦听,但它没有这样做。所以这似乎是异常行为:

来源: https ://bugzilla.redhat.com/show_bug.cgi?id=1104359

Created attachment 933288 [details]
proposed fix

测试:

  1. 禁用 ipv6,将 ipv6.disable=1 添加到内核引导行并重新启动
  2. 启动 pcsd 服务 systemctl start pcsd.service
  3. 验证 pcsd 正在运行并在 0.0.0.0 netstat --inet -anp46 上侦听 | grep 2224 tcp 0 0 0.0.0.0:2224 0.0.0.0:* 听 1746/ruby
  4. 在启用 ipv6 的情况下重新启动。
  5. 启动 pcsd 服务 systemctl start pcsd.service
  6. 验证 pcsd 是否正在运行并正在侦听 :: netstat --inet -anp46 | grep 2224 tcp6 0 0 :::2224 :::*
    LISTEN 356/ruby

谷歌搜索在配置中强制使用 IPV4 的方法没有产生任何结果。所以我现在卡住了。我必须将此端口强制为 0.0.0.0:2224 以通过安全合规性。

谁能告诉我怎么做?

centos
  • 1 1 个回答
  • 2849 Views

1 个回答

  • Voted
  1. Best Answer
    Abel
    2017-11-24T08:12:34+08:002017-11-24T08:12:34+08:00

    很晚了,但是如果您希望 pcsd 仅在 IPv4 中运行,您需要修改文件/etc/sysconfig/pcsd并替换默认值(并注释)

    # PCSD_BIND_ADDR='::'
    

    对于这样的事情:

     PCSD_BIND_ADDR='192.168.23.65'
    

    接下来你需要重新启动 pcsd 服务,如果你运行netstat -tulpn你应该看到:

     tcp   0  0 192.168.23.65:2224   0.0.0.0:*     LISTEN   5191/ruby        
    
    • 2

相关问题

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 持续监控许多服务器运行状况的简单方法?

  • Hudson 无法在 tomcat5 中启动

  • CentOS 的依赖挑战

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve