Shadowsocks-libev: /usr/bin/ss-server[600]: unable to resolve

Created on 5 Sep 2016  ·  8Comments  ·  Source: shadowsocks/shadowsocks-libev

Please answer these questions before submitting your issue. Thanks!

What version of shadowsocks-libev are you using?

shadowsocks-libev 2.4.7

What operating system are you using?

Linux CentOS 6.8 x86_64

What did you do?

tail /var/log/messages

What did you expect to see?

no errors)

What did you see instead?

every like 10-20 seconds new log line is added: /usr/bin/ss-server[600]: unable to resolve

What is your config in detail (with all sensitive info masked)?

cat /etc/shadowsocks-libev/config.json
{
"server":"_",
"server_port":8
_,
"local_port":1_,
"password":"
_",
"timeout":60,
"method":"aes-256-cfb"
}

I can ping away from server and access websites, except website located on one external server (i can ping this server, curl http://thatserverhosteddomain.tld is OK, but when accessed via shadowsocks proxy, then thatserverhosteddomain.tld do not load.

head -n2 /etc/resolv.conf
nameserver 8.8.8.8
nameserver 8.8.4.4

not a bug

Most helpful comment

Try adding nameserver to your config, like this:

{
"server":"",
"server_port":8,
"local_port":1,
"password":"",
"timeout":60,
"nameserver": "8.8.8.8",
"method":"aes-256-cfb"
}

All 8 comments

  1. Please first upgrade to the latest version of shadowsocks-libev.
  2. Could you try -d 8.8.8.8 in your ss-server command line?

My /etc/resolv.conf contains "#" characters, hope it does not matter, i tried to remove and service network reload, but errors still appear.

  1. yum install shadowsocks-libev
    Package shadowsocks-libev-2.4.7-1.el6.x86_64 already installed and latest version
  2. ss-server -d 8.8.8.8 OR ss-server http://somedomain.tld -d 8.8.8.8
    returns help for ss-server (no output, like when i add wrong switch to the app)

thx

Try adding nameserver to your config, like this:

{
"server":"",
"server_port":8,
"local_port":1,
"password":"",
"timeout":60,
"nameserver": "8.8.8.8",
"method":"aes-256-cfb"
}

i just added that line exactly as provided (not restarted any service), but errors continue being added. Moreover these appeared too during tail /var/log/messages

Sep 5 12:32:33 h31 /usr/bin/ss-server[600]: invalid password or cipher
Sep 5 12:32:33 h31 /usr/bin/ss-server[600]: failed to handshake with myclientcomputerIPhere
(probably some temporary error, as i can normaly browse internet via ss proxy without issue, except i cant access that one external server websites via ss proxy)

You have to restart the service to let the config take effect. The new log you post is irrelevant, which means your client's and server's config mismatch.

after service restart (service shadowsocks-libev restart) im able to connect that server via ss and no more error messages.
When i tried to remove yours mentioned line: "nameserver": "8.8.8.8",
from config file & restarted, it stopped working again.
Why i have to provide nameserver in config file? I would prefer if it use my system resolv.conf file. Can i use additional nameserver as failover? what line i can add please? Thank You alot for help. This is best proxy SW i used.

Not sure what's the root cause of your issue. Shadowsocks-libev always gets the default nameservers from /etc/resolv.conf first.

@madeye: So shadowsocks-libev will explicitly look into /etc/resolv.conf for nameservers if is no -d argument in ss-server specified?
Here is my case: I am using dockerized ubuntu without systemd, so there is no systemd-resolve..
So my nameserveres are updated only in /etc/resolv.conf, is it ok?
Thanks

Was this page helpful?
0 / 5 - 0 ratings