【问题标题】:HAProxy cannot bind socket [0.0.0.0:8888]HAProxy 无法绑定套接字 [0.0.0.0:8888]
【发布时间】:2016-04-20 00:47:01
【问题描述】:

我在 CentOS 7 上构建了一个 HAProxy,并启用了端口 8080 的统计页面。它似乎工作正常。 当我将端口设置为 8888 时,HAProxy 无法正常工作并给我一些反馈。
之后,我尝试了很多方法来解决这个问题,但问题仍然存在。

有人可以帮我解决这个问题吗?

这是系统信息

haprxoy.cfg

/etc/haproxy/haproxy.cfg
8080端口没问题,8888不行。

    # [HAPROXY DASHBOARD]
        listen  stats :8888
        mode http
        stats enable
        stats hide-version
        stats realm Haproxy\ Statistics
        stats uri /
        stats auth haproxy:haproxy
        stats refresh 10s

服务状态

服务代理状态

systemd[1]: Started HAProxy Load Balancer.
haproxy-systemd-wrapper[2358]: haproxy-systemd-wrapper: executing /usr/sbin/haproxy -f /etc/haproxy/haproxy.cf...id -Ds
haproxy-systemd-wrapper[2358]: [ALERT] 012/095413 (2359) : Starting proxy stats: cannot bind socket [0.0.0.0:8888]
haproxy-systemd-wrapper[2358]: haproxy-systemd-wrapper: exit, haproxy RC=256

/etc/sysctl.conf
有人说可能是虚拟IP问题,所以我按照说明添加下面的设置,然后运行 ​​sysctl -p

net.ipv4.ip_nonlocal_bind=1

网络配置

ip地址显示

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
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:15:5d:0a:09:05 brd ff:ff:ff:ff:ff:ff
    inet 192.168.4.117/24 brd 192.168.4.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::215:5dff:fe0a:905/64 scope link
       valid_lft forever preferred_lft forever

监听端口

ss --监听

[root@localhost ~]# ss --listening
Netid State      Recv-Q Send-Q                                                                                  Local Address:Port                                                                                      Peer Address:Port
nl    UNCONN     0      0                                                                                                rtnl:NetworkManager/792                                                                                               *
nl    UNCONN     0      0                                                                                                rtnl:kernel                                                                                                *
nl    UNCONN     0      0                                                                                                rtnl:avahi-daemon/671                                                                                               *
nl    UNCONN     0      0                                                                                                rtnl:4195096                                                                                               *
nl    UNCONN     4352   0                                                                                             tcpdiag:ss/3772                                                                                               *
nl    UNCONN     768    0                                                                                             tcpdiag:kernel                                                                                                *
nl    UNCONN     0      0                                                                                                   6:kernel                                                                                                *
nl    UNCONN     0      0                                                                                                   7:kernel                                                                                                *
nl    UNCONN     0      0                                                                                                   7:systemd/1                                                                                               *      
nl    UNCONN     0      0                                                                                                   7:dbus-daemon/680                                                                                               *
nl    UNCONN     0      0                                                                                                   9:auditd/640                                                                                               *     
nl    UNCONN     0      0                                                                                                   9:kernel                                                                                                *
nl    UNCONN     0      0                                                                                                   9:systemd/1                                                                                               *      
nl    UNCONN     0      0                                                                                                  10:kernel                                                                                                *
nl    UNCONN     0      0                                                                                                  11:kernel                                                                                                *
nl    UNCONN     0      0                                                                                                  15:iprdump/723                                                                                               *    
nl    UNCONN     0      0                                                                                                  15:systemd/1                                                                                               *      
nl    UNCONN     0      0                                                                                                  15:-4124                                                                                                 *
nl    UNCONN     0      0                                                                                                  15:systemd-logind/679                                                                                               *
nl    UNCONN     0      0                                                                                                  15:NetworkManager/792                                                                                               *
nl    UNCONN     0      0                                                                                                  15:iprinit/713                                                                                               *    
nl    UNCONN     0      0                                                                                                  15:-4107                                                                                                 *
nl    UNCONN     0      0                                                                                                  15:-4125                                                                                                 *
nl    UNCONN     0      0                                                                                                  15:-4119                                                                                                 *
nl    UNCONN     0      0                                                                                                  15:iprupdate/710                                                                                               *  
nl    UNCONN     0      0                                                                                                  15:-4118                                                                                                 *
nl    UNCONN     0      0                                                                                                  15:kernel                                                                                                *
nl    UNCONN     0      0                                                                                                  15:-4117                                                                                                 *
nl    UNCONN     0      0                                                                                                  15:tuned/676                                                                                               *      
nl    UNCONN     0      0                                                                                                  16:kernel                                                                                                *
nl    UNCONN     0      0                                                                                                  18:kernel                                                                                                *
u_str LISTEN     0      128                                                                           /run/lvm/lvmetad.socket 11542                                                                                                * 0
u_str LISTEN     0      128                                                                       /run/systemd/journal/stdout 6697                                                                                                 * 0
u_dgr UNCONN     0      0                                                                         /run/systemd/journal/socket 6700                                                                                                 * 0
u_dgr UNCONN     0      0                                                                                            /dev/log 6702                                                                                                 * 0
u_dgr UNCONN     0      0                                                                              /run/systemd/shutdownd 11321                                                                                                * 0
u_dgr LISTEN     0      128                                                                                 /run/udev/control 11338                                                                                                * 0
u_str LISTEN     0      100                                                                                      public/flush 18726                                                                                                * 0
u_str LISTEN     0      100                                                                                      public/showq 18741                                                                                                * 0
u_str LISTEN     0      30                                                               /var/run/NetworkManager/private-dhcp 17003                                                                                                * 0
u_dgr UNCONN     0      0                                                                   @/org/freedesktop/systemd1/notify 11259                                                                                                * 0
u_str LISTEN     0      100                                                                                    private/tlsmgr 18708                                                                                                * 0
u_str LISTEN     0      30                                                                    /var/run/NetworkManager/private 16518                                                                                                * 0
u_str LISTEN     0      128                                                                      /var/run/avahi-daemon/socket 13986                                                                                                * 0
u_str LISTEN     0      128                                                                   /var/run/dbus/system_bus_socket 13998                                                                                                * 0
u_str LISTEN     0      100                                                                                   private/rewrite 18711                                                                                                * 0
u_str LISTEN     0      100                                                                                    private/bounce 18714                                                                                                * 0
u_str LISTEN     0      100                                                                                     private/defer 18717                                                                                                * 0
u_str LISTEN     0      100                                                                                     private/trace 18720                                                                                                * 0
u_str LISTEN     0      100                                                                                    private/verify 18723                                                                                                * 0
u_str LISTEN     0      100                                                                                  private/proxymap 18729                                                                                                * 0
u_str LISTEN     0      100                                                                                private/proxywrite 18732                                                                                                * 0
u_str LISTEN     0      100                                                                                      private/smtp 18735                                                                                                * 0
u_str LISTEN     0      100                                                                                     private/relay 18738                                                                                                * 0
u_str LISTEN     0      100                                                                                     private/error 18744                                                                                                * 0
u_str LISTEN     0      100                                                                                     private/retry 18747                                                                                                * 0
u_str LISTEN     0      100                                                                                   private/discard 18750                                                                                                * 0
u_str LISTEN     0      100                                                                                     private/local 18753                                                                                                * 0
u_str LISTEN     0      100                                                                                   private/virtual 18756                                                                                                * 0
u_str LISTEN     0      100                                                                                      private/lmtp 18759                                                                                                * 0
u_str LISTEN     0      100                                                                                     private/anvil 18762                                                                                                * 0
u_str LISTEN     0      100                                                                                    private/scache 18765                                                                                                * 0
u_str LISTEN     0      100                                                                                     public/pickup 18697                                                                                                * 0
u_str LISTEN     0      100                                                                                    public/cleanup 18701                                                                                                * 0
u_str LISTEN     0      100                                                                                       public/qmgr 18704                                                                                                * 0
u_str LISTEN     0      30                                                                               /run/systemd/private 11261                                                                                                * 0
u_dgr UNCONN     0      0                                                                                                   * 14733                                                                                                * 6700
u_dgr UNCONN     0      0                                                                                                   * 15011                                                                                                * 6702
u_dgr UNCONN     0      0                                                                                                   * 12659                                                                                                * 12658
u_dgr UNCONN     0      0                                                                                                   * 18818                                                                                                * 6702
u_dgr UNCONN     0      0                                                                                                   * 15244                                                                                                * 6702
u_dgr UNCONN     0      0                                                                                                   * 16991                                                                                                * 6702
u_dgr UNCONN     0      0                                                                                                   * 12644                                                                                                * 6700
u_dgr UNCONN     0      0                                                                                                   * 12658                                                                                                * 12659
u_dgr UNCONN     0      0                                                                                                   * 19513                                                                                                * 6700
u_dgr UNCONN     0      0                                                                                                   * 29994                                                                                                * 6702
u_dgr UNCONN     0      0                                                                                                   * 13899                                                                                                * 6702
u_dgr UNCONN     0      0                                                                                                   * 16528                                                                                                * 6702
u_dgr UNCONN     0      0                                                                                                   * 30457                                                                                                * 6702
u_dgr UNCONN     0      0                                                                                                   * 18632                                                                                                * 6702
u_dgr UNCONN     0      0                                                                                                   * 16504                                                                                                * 6702
raw   UNCONN     0      0                                                                                                  :::ipv6-icmp                                                                                             :::*     
tcp   UNCONN     0      0                                                                                                   *:ipproto-5353                                                                                              *:*  
tcp   UNCONN     0      0                                                                                                   *:ipproto-50900                                                                                              *:* 
tcp   LISTEN     0      100                                                                                         127.0.0.1:smtp                                                                                                 *:*
tcp   LISTEN     0      128                                                                                                 *:ssh                                                                                                  *:*
tcp   LISTEN     0      100                                                                                               ::1:smtp                                                                                                :::*
tcp   LISTEN     0      128                                                                                                :::ssh                                                                                                 :::*

【问题讨论】:

  • 你检查过端口是否已经被使用了吗? netstat -anp | grep ":8888"
  • 我已经检查过了。未使用。
  • 检查规则selinux,见/var/log/audit/audit.log

标签: sockets haproxy centos7


【解决方案1】:

首先感谢你们。
我已经通过以下命令解决了这个问题。
setsebool -P haproxy_connect_any=1

它对我有用!

【讨论】:

【解决方案2】:

在 /etc/sysctl.conf 中添加 net.ipv4.ip_nonlocal_bind=1

sysctl -p

重启haproxy服务(service restart haproxy)。它会起作用的。

【讨论】:

    【解决方案3】:

    我猜这是一个 SELinux 问题。 尝试 setenforce 0,然后重新启动 HAProxy 服务。如果 HAProxy 在此更改后工作,请使用 setenforce 1 恢复强制状态,然后运行 ​​setsebool -P haproxy_connect_any 更改可能影响此的 SELinux 布尔值,然后重新启动服务。

    【讨论】:

      【解决方案4】:

      对我有用的是杀死在我想使用的端口 (6443) 上运行的任何服务:

      $fuser -k 6443/tcp
      

      然后我跑了:

      $sudo systemctl restart haproxy
      

      【讨论】:

        【解决方案5】:

        setsebool 显示了正确的方向。 这是一个 SELinux 问题。尝试为 SELinux 安装工具链: yum install policycoreutils policycoreutils-python selinux-policy selinux-policy-targeted libselinux-utils setroubleshoot-server settools setools-console mcstrans

        键入“selinux permissive”按“记录按钮”并尝试启动 服务。他们失败了。 然后:grep haprox /var/log/audit/audit.log | audit2allow -M haproxy 并通过

        激活 haproxy 权限
        semodule -i haproxy.pp
        

        完成!

        【讨论】:

          【解决方案6】:

          您并不总是需要dosetsebool -P haproxy_connect_any=1

          对我来说,问题是我无法绑定的端口实际上正在运行。

          所以在我的情况下(在 ubuntu 上)我使用 fuser tcp/8888 它说它在某个 XXXX 端口上。所以摆脱那个fuser -k tcp/8888。就我而言,它可以正常启动。

          【讨论】:

            【解决方案7】:

            /etc/sysconfig/selinux SELINUX=许可

            重启

            为我工作

            【讨论】:

              【解决方案8】:

              Code Man 的回答有效,但您也可以通过以下方式为您的端口管理 selinux:

              yum -y install policycoreutils-python
              semanage port -m -t http_port_t -p tcp 8080
              systemctl restart haproxy
              systemctl status haproxy
              

              【讨论】:

                【解决方案9】:

                我在 OpnSense 防火墙 (FreeBSD) 上收到了类似的 Starting frontend &lt;FrontendName&gt;: cannot bind socket &lt;IP:port&gt; 消息。

                我绑定了一个域名,结果发现它指向我的公共地址,这是一个问题。使用环回地址使 HAProxy 工作。

                这个与 Linux 相关的答案也给出了一些提示:https://stackoverflow.com/a/41009557/964053 ...因为我记得这在 pfSense 上工作。这里可能还有更多的魔法有待发现!

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2015-07-18
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2021-11-16
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多