一次socket.error: [Errno 99] Cannot assign requested address报错排查

今天在阿里云国际版的机器上配置某个不可描述的服务时,遇到了 socket.error: [Errno 99] Cannot assign requested address 的错误,详细如下:

Traceback (most recent call last):
  File "/usr/bin/ssserver", line 11, in <module>
    load_entry_point('shadowsocks==2.8.2', 'console_scripts', 'ssserver')()
  File "/usr/lib/python2.7/site-packages/shadowsocks/server.py", line 68, in main
    tcp_servers.append(tcprelay.TCPRelay(a_config, dns_resolver, False))
  File "/usr/lib/python2.7/site-packages/shadowsocks/tcprelay.py", line 582, in __init__
    server_socket.bind(sa)
  File "/usr/lib64/python2.7/socket.py", line 224, in meth
    return getattr(self._sock,name)(*args)

原先以为是resolver的问题,但是指定了Google的nameservers仍然无解,于是想到可能是服务器IP地址设置的问题,因为阿里云默认给网卡绑定的是内网IP地址。

于是修改某服务的配置文件中的Server IP为 0.0.0.0,再启动服务,问题解决。

2 条评论
  1. 刘洋
    刘洋2017-07-26

    使用你的方法我配置好了, 但是也遇到了新的问题,当我连上我的ss之后,就上不去网络, 这是为什么呢,高手? 我用的也是香港阿里云.
    期待高手的回复!

    1. 亲爱的罗伊
      亲爱的罗伊2017-07-27

      检查一下你的ss服务端口是否在阿里云的安全规则中放行了。

添加新评论