1. 我是皮皮虾首页
  2. 网站部署

centos7 tcp6端口地址无法访问

背景

centos7服务器启动了一个端口8002的服务,再centos7机器上能访问,但是在其他机器上就不能访问,启动tcp标识的服务可以正常访问,所有的tcp6都不能访问

[root@hdss-7-200 ~]# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:1514          0.0.0.0:*               LISTEN      94968/docker-proxy  
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1027/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      967/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1179/master         
tcp6       0      0 :::8002                 :::*                    LISTEN      76604/docker-proxy  

原因

因为开启了ipv6模式,所以只能通过ipv6访问,可以通过ifconfig查看ipv6地址,在浏览器访问:http://[fz40::9c3c:c02:f95d:c171]:8002

[root@hdss-7-200 harbor]# ifconfig 
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.4.7.200  netmask 255.255.255.0  broadcast 10.4.7.255
        inet6 fz40::9c3c:c02:f95d:c171  prefixlen 64  scopeid 0x20<link>
        inet6 fz40::6d28:5a36:8ccc:2f3f  prefixlen 64  scopeid 0x20<link>

解决方法

linux由于安全考虑,默认是关闭多个网卡之间流量转发的,因此我们需要开启ipv4流量转发

[root@hdss-7-200 ~]# cat <<EOF | tee /etc/sysctl.d/ipv4_forward.conf
> net.ipv4.ip_forward = 1
> EOF
[root@hdss-7-200 ~]# sysctl -p /etc/sysctl.d/ipv4_forward.conf
net.ipv4.ip_forward = 1

原创文章,作者:站长,如若转载,请注明出处:https://wsppx.cn/2512/%e7%bd%91%e7%ab%99%e9%83%a8%e7%bd%b2/

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注