问题

镜像中监听了端口,通过-p进行映射后,netstat已经可以看到了,本机访问正常,其他主机无法访问

  1. [root@code1024 ~]# netstat -lutpn
  2. Active Internet connections (only servers)
  3. Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
  4. tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1238/master
  5. tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1069/sshd
  6. tcp6 0 0 ::1:25 :::* LISTEN 1238/master
  7. tcp6 0 0 :::15080 :::* LISTEN 13772/docker-proxy
  8. tcp6 0 0 :::22 :::* LISTEN 1069/sshd
  9. udp 0 0 0.0.0.0:68 0.0.0.0:* 876/dhclient

示例中的15080端口即为映射的端口

解决

  1. 查看本机ip转发是否开启,0表示未开启

    1. [root@code1024 ~]# sysctl net.ipv4.ip_forward
    2. net.ipv4.ip_forward = 0
  2. 开启转发

/etc/sysctl.conf 中添加:net.ipv4.ip_forward=1

  1. [root@code1024 ~]# vi /etc/sysctl.conf
  2. [root@code1024 ~]# cat /etc/sysctl.conf
  3. net.ipv4.ip_forward=1
  1. 重载配置

    1. [root@code1024 ~]# sysctl -p
    2. net.ipv4.ip_forward = 1
    3. [root@code1024 ~]# sysctl net.ipv4.ip_forward
    4. net.ipv4.ip_forward = 1
  2. 再次从外机进行访问已经可以成功了