华为云开启了入方向规则的 tcp/80 端口,但是 服务器仍然无法访问的问题

华为云踩坑系列

今天给一个客户布置lnmp环境,客户买的是华为云,出现以下几个问题
1.华为云默认不开启80端口,首先要去华为云控制台 安全组 添加 入方向的 80端口
在这里插入图片描述
2.我添加完之后反复测试仍然无法通过IP访问,我已经能确保 nginx 已经监听在80端口了,但是还是没法访问,一直认为是华为云没配置好,后来发现是开启了firewall,linux防火墙,防火墙禁止访问80端口,嘻嘻

3.可以通过 systemctl status firewalld 查看下防火墙状态,如果出现
在这里插入图片描述
如果Active inactive(dead) 那么说明防火墙关闭了,Active inactive(running) 说明防火墙现在是开启的状态

firewall-cmd --query-port=8080/tcp 查询端口是否开放

firewall-cmd --permanent --add-port=80/tcp 添加80端口

firewall-cmd --permanent --remove-port=8080/tcp 移除80端口

firewall-cmd --reload 修改配置后重新启动才生效

另外的方法就是直接关闭防火墙(最直接,我就是这么干的)
systemctl stop firewalld

<think>嗯,用户需要解决华为云LVS/DR部署中的TCP连接报错104问题。这个错误代码通常对应ECONNRESET,即"Connectionresetbypeer",说明服务器端主动断开了连接。结合LVS/DR架构特性,需要从多个层面排查。用户可能是云环境运维工程师,正在搭建高可用集群。ta的提问非常专业,直接点明了环境(华为云)、架构(LVS/DR)、故障现象(TCP104错误),说明有扎实的网络基础。但ta没有提供具体配置片段,可能需要引导补充关键信息。核心矛盾在于:LVS/DR模式下真实服务器直接响应客户端,但华为云的虚拟网络架构可能破坏这种通信模型。重点考虑三个层面:首先是ARP抑制问题。在经典LVS/DR部署中,真实服务器必须抑制VIP的ARP响应,仅允许调度器响应。但华为云的SDN架构可能使传统ARP抑制手段(如修改内核参数或配置环回接口)失效。需要确认是否使用了华为云推荐的VIP绑定方式。其次是VIP冲突风险。如果某台真实服务器意外绑定了VIP,当客户端请求到达时,多台机器都会响应ARP请求,导致MAC地址漂移。在华为云控制台查看弹性网卡的绑定状态比传统arping命令更可靠。最后是安全策略干扰。华为云安全组默认放行出方向流量,但方向需要显式放行VIP。特别要注意真实服务器安全组必须允许源IP为客户端、目的IP为VIP的流量——这点容易被忽略,因为常规思维只关注RIP的放行。用户可能已经排查过基础配置,现在需要更深的云环境适配方案。建议优先通过tcpdump在真实服务器抓包,确认SYN是否到达。如果SYN到达但服务器回复RST,就指向安全组或VIP绑定问题;如果SYN未到达,则可能是调度器转发或安全组拦截。华为云的特殊性在于其分布式网关架构。传统IDC里DR模式依赖二层连通性,而云环境需要VIP绑定在弹性网卡上,且必须关闭源/目的检查。这个配置在管理控制台完成,不操作的话底层虚拟交换机会丢弃非对称流量。值得补充的是,某些华为云机型需要额外配置网卡多队列和中断亲和性,避免软中断处理不及时导致连接重置。虽然这不是104错误的主因,但在高并发场景下可能成为诱因。</think>在华为云环境下部署LVS/DR模式时出现TCP连接错误104(`Connection reset by peer`),通常由以下原因及解决方案导致: --- ### **核心原因与解决方案** #### 1. **真实服务器未正确绑定VIP(ARP问题)** - **问题**:真实服务器响应了客户端发往VIP的ARP请求,导致客户端直接与真实服务器建立连接(绕过LVS),而真实服务器未正确处理该连接。 - **解决方案**: - **禁止真实服务器响应VIP的ARP**: ```bash # 修改系统参数(永久生效) echo "net.ipv4.conf.all.arp_ignore = 1" >> /etc/sysctl.conf echo "net.ipv4.conf.all.arp_announce = 2" >> /etc/sysctl.conf echo "net.ipv4.conf.default.arp_ignore = 1" >> /etc/sysctl.conf echo "net.ipv4.conf.default.arp_announce = 2" >> /etc/sysctl.conf sysctl -p # 立即生效 ``` - **华为云特殊处理**: 华为云的弹性网卡需关闭**源/目的检查**(控制台操作): - 进**弹性云服务器 → 网卡配置 → 关闭源/目的检查** [^1] #### 2. **VIP绑定配置错误** - **问题**:真实服务器未在本地回环接口绑定VIP。 - **解决方案**: ```bash # 在每台真实服务器上绑定VIP到lo:0 ip addr add <VIP>/32 dev lo label lo:0 ``` #### 3. **华为云安全组/ACL限制** - **问题**:安全组未放行VIP相关流量。 - **解决方案**: - **安全组规则**: - 放行**客户端IP → VIP**的流量(方向) - 放行**VIP → 客户端IP**的流量(出方向) - **网络ACL**: 检查子网级ACL是否阻止了VIP的通信。 #### 4. **连接跟踪冲突(Conntrack)** - **问题**:真实服务器收到非LVS转发的SYN包,触发RST响应。 - **解决方案**: - 在真实服务器添加防火墙规则,丢弃非LVS调度器来源的VIP流量: ```bash iptables -A INPUT -d <VIP> ! -s <LVS_调度器IP> -j DROP ``` #### 5. **TCP Keepalive 参数问题** - **问题**:华为云SLB或中间设备主动断开空闲连接。 - **解决方案**: - 调整真实服务器TCP参数: ```bash echo 600 > /proc/sys/net/ipv4/tcp_keepalive_time echo 60 > /proc/sys/net/ipv4/tcp_keepalive_intvl ``` --- ### **验证步骤** 1. **检查VIP绑定**: ```bash ip addr show lo | grep <VIP> ``` 2. **抓包分析**: - 在真实服务器抓包,确认是否收到来自客户端的SYN: ```bash tcpdump -i any host <VIP> and port <服务端口> ``` - 若收到非LVS调度器IP的SYN包,需检查ARP抑制规则。 3. **华为云控制台检查**: - **关闭源/目的检查**(必需) - **安全组规则**放行VIP和客户端IP - **后端服务器组**确保端口健康检查通过 --- ### **华为云特殊注意事项** - **不支持传统ARP广播**:华为云VPC依赖分布式虚拟网关,需通过控制台关闭源/目的检查实现LVS/DR[^1]。 - **避免多网卡冲突**:若真实服务器有多网卡,需在`arp_ignore`中指定接口(如`net.ipv4.conf.eth0.arp_ignore=1`)。 --- ### 故障排查流程图 ```mermaid graph TD A[客户端报错104] --> B{真实服务器是否绑定VIP?} B -- 否 --> C[绑定VIP到lo:0] B -- 是 --> D{ARP抑制是否生效?} D -- 否 --> E[配置arp_ignore/arp_announce] D -- 是 --> F{安全组是否放行VIP流量?} F -- 否 --> G[调整安全组规则] F -- 是 --> H{是否关闭源/目的检查?} H -- 否 --> I[华为云控制台关闭] H -- 是 --> J[抓包分析非LVS流量] ``` 通过以上步骤可解决99%的LVS/DR模式104错误。若问题仍存在,需结合华为云工单提供具体抓包日志分析。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值