Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

咨询:编辑 shadowsocks.json可否使用域名,而不是ip地址。 #15

Closed
gitx6 opened this issue May 24, 2017 · 32 comments
Closed

Comments

@gitx6
Copy link

gitx6 commented May 24, 2017

"server":"123.123.123.123", // 这是你国外服务器地址(服务器上应该运行一个 shadowsocks server)

这里是否可以用域名替代IP地址。比如:"fq.vps.com"替代"123.123.123.123"

@zw963
Copy link
Owner

zw963 commented May 25, 2017

当然可以.

@zw963 zw963 closed this as completed May 25, 2017
@gitx6
Copy link
Author

gitx6 commented Jun 8, 2017

在脚本ss+dnsmasq第66行到71行,需要用服务器ip地址替换iptables.sh中的对应值。如果我在 shadowsocks.json中服务器地址用的域名,在手工部署的时候,iptables.sh继续使用域名可以么?

谢谢解答。

66 # 取得 shadowsocks.json 中的服务器 ip 地址以及 ss-redir 端口, 并自动替换 iptables.sh 中对应的值。
67 ss_server_ip=$(cat /opt/etc/shadowsocks.json |grep 'server"' |cut -d':' -f2|cut -d'"' -f2)
68 ss_local_port=$(cat /opt/etc/shadowsocks.json |grep 'local_port"' |grep -o '[0-9]*')
69
70 replace_string 'SS_SERVER_IP' $ss_server_ip /opt/etc/iptables.sh
71 replace_string 'SS_LOCAL_PORT' $ss_local_port /opt/etc/iptables.sh

@zw963
Copy link
Owner

zw963 commented Jun 8, 2017

在脚本ss+dnsmasq第66行到71行,需要用服务器ip地址替换iptables.sh中的对应值。如果我在 shadowsocks.json中服务器地址用的域名,在手工部署的时候,iptables.sh继续使用域名可以么?

你应该把 SS_SERVER_IP 替换为你的域名才可以啊, 还有端口

@gitx6
Copy link
Author

gitx6 commented Jun 10, 2017

使用域名在shadowsocks.json里面会无法解析。必须使用ip地址才能FQ。

admin@RT-AC68U-DA00:/tmp/home/root# ss-redir -c /opt/etc/shadowsocks.json
2015-08-01 00:02:28 INFO: initializing ciphers... chacha20
2015-08-01 00:02:50 ERROR: failed to resolve server name, wait 2 seconds

@zw963
Copy link
Owner

zw963 commented Jun 10, 2017

好吧, 我也是糊涂了, iptables.sh 里面是 iptable 规则, 当然必须是 ip.

你需要自己手动修改这个文件里的域名为 ip, 但是, shadowsocks.json 中
绝对可以使用域名的.

@gitx6
Copy link
Author

gitx6 commented Jun 10, 2017

我刚才在路由器FQ状态下检查了shadowsocks.json和iptables.sh。结果恰恰相反。

shadowsocks.json 里面必须是IP地址。如果改成域名然后重启路由器,会翻不出去。手工执行ss-redir -c /opt/etc/shadowsocks.json。出错信息为:
2015-08-01 00:02:28 INFO: initializing ciphers... chacha20
2015-08-01 00:02:50 ERROR: failed to resolve server name, wait 2 seconds
日期也是显示2015-08-01,说明路由器到外网不通,NTP服务没有同步到当前时间。
shadowsocks.json 改成ip地址,重启路由器。FQ成功,NTP也改了路由器的时间为当前时间。

iptables.sfh在上述的两个测试中一直保持为域名方式
#如果有很多服务器,并且所有目标服务器都是同样的端口, 用法如下
# $iptables -t nat -A SHADOWSOCKS --dport 22334 -j RETURN
$iptables -t nat -A SHADOWSOCKS -d fq.sakura.com -j RETURN

因为我的SS服务商提供的服务器是域名,对应的IP地址会不定期的更新。需要使用域名方式在shadowsocks.json

@zw963
Copy link
Owner

zw963 commented Jun 10, 2017

@wanxin6, 好吧, 建议你直接购买个 VPS 自己来用多好? 一个月也就几十块, 干嘛用别人的服务, 还不安全.

我已经提供了一键部署 ss-server 的脚本, 支持 Ubuntu, Centos, OpenSUSE, 你看到了吧?

@gitx6
Copy link
Author

gitx6 commented Jun 10, 2017

好处是这家服务商有多条线路可选。香港,日本,台湾,美国等。
不好的地方就是上面提及到的用域名比用IP地址方便,他们会在后台做些负载均衡等。

@gitx6
Copy link
Author

gitx6 commented Jun 10, 2017

我想问题应该是这样产生的。
shadowsocks.json指定了域名,但是这个域名对应的IP地址不在iptables.sh里面。当ss-redir -c /opt/etc/shadowsocks.json 服务启动时,域名无法解析,就出错不能FQ了。

如果用ss+dnsmasq+chinadns的方案是不是可以解决这个矛盾的问题?

@gitx6
Copy link
Author

gitx6 commented Jun 11, 2017

或者有什么其他的方案,可以指定以某个后缀的域名直连,这样ss-redir -c /opt/etc/shadowsocks.json 服务启动时可以取得正确的ip地址?

@zw963
Copy link
Owner

zw963 commented Jun 11, 2017

shadowsocks.json指定了域名,但是这个域名对应的IP地址不在iptables.sh里面。

你可能需要手动的把你服务商提供的那个域名, 作为国内域名白名单, 加入 /opt/etc/dnsmasq.d/accelerated-domains.china.conf

格式如下: (如果你的域名是 fq.sakura.com)

server=/sakura.com/#

试试看.

@zw963 zw963 reopened this Jun 11, 2017
@gitx6
Copy link
Author

gitx6 commented Jun 11, 2017

没有这个文件 /opt/etc/dnsmasq.d/accelerated-domains.china.conf。在这个目录下只有accelerated-domains-ipset.china.conf。
格式是
ipset=/0-6.com/FREEWEB
ipset=/0-gold.net/FREEWEB

@zw963
Copy link
Owner

zw963 commented Jun 11, 2017

我说错了, 就是这个文件, 加一行:

ipset=/sakura.com/FREEWEB

@gitx6
Copy link
Author

gitx6 commented Jun 12, 2017

就是当成国内流量直接放行。

但是这样FQ的性能很差。youtube画面质量惨不忍睹。电脑直接代理FQ反而随便1080P。

@zw963
Copy link
Owner

zw963 commented Jun 12, 2017

就是当成国内流量直接放行。

这是必须的, 只有直连你的 VPS, 速度才会最快.

你需要首先直连到 FQ服务器, 然后通过 FQ服务器, 再连接 Youtube.

因此, 你的 VPS (FQ服务器) 域名必须直接放行.

我想不到什么原因会让 Youtube 画质惨不忍睹, 貌似还是你有些地方配置的问题?

@gitx6
Copy link
Author

gitx6 commented Jun 12, 2017

我通过ip138查到VPS的地址,改shadowsocks.json成IP方式,路由器不用重启,速度嗖嗖的就上去了。

使用域名方式,还有一个问题是国内的一些网站速度变慢了。微信聊天和朋友圈的图片加载很慢。有些app还连不上网。

@zw963
Copy link
Owner

zw963 commented Jun 12, 2017

那应该是 sakura.com 这个域名解析慢造成的问题, 你还是定期更换 ip 地址吧.

或者, 就像我建议一样, 搞个 VPS, 香港的就行, 一劳永逸, 根本不用多线路, 大陆访问
香港的 应该是最好的线路了.

@gitx6
Copy link
Author

gitx6 commented Jun 12, 2017

嗯,只有这样了。

目前你的解决方案是网上最透明,部署最方便的。其他刷固件的方案,就怕变成别人的肉鸡。

@gitx6 gitx6 closed this as completed Jun 12, 2017
@gitx6
Copy link
Author

gitx6 commented Jun 12, 2017

不知道是不是有启动顺序这种说法。

由于ss-redir启动在前。ss-redir启动不能解析出ip地址就会一直等待,造成后续的命令无法执行,也就无法FQ。

@zw963
Copy link
Owner

zw963 commented Jun 13, 2017

在accelerated-domains-ipset.china.conf增加ipset=/服务器域名/FREEWEB方式是无效

不知道你为什么无效, 这个配置是在 dnsmasq 里面, ss-redir 碰到域名, 也会走 dnsmasq, 然后, 因为有规则, 会把这个域名交给国内的域名解析服务器来处理. 不过, 也可能 ss-redir 本身就是在做域名委托的, 所以无效, 也没细研究.

不知道是不是有启动顺序这种说法。

有的, init.d/ 下面, 启动脚本都有个数字, 数字小的在前面启动.

@gitx6
Copy link
Author

gitx6 commented Jun 15, 2017

更新一下:

无论对于ss+dnsmasq+chinadns或者ss+dnsmasq方式,如果使用域名,需要在accelerated-domains-ipset.china.conf增加如下格式: (如果你的域名是 fq.sakura.com)。

ipset=/fq.sakura.com/FREEWEB

同时更改iptables.sh (SERVER_PORT)是vps的端口

$iptables -t nat -A SHADOWSOCKS --dport SERVER_PORT -j RETURN
#$iptables -t nat -A SHADOWSOCKS -d fq.sakura.com -j RETURN

@zw963
Copy link
Owner

zw963 commented Jun 15, 2017 via email

@gitx6
Copy link
Author

gitx6 commented Jun 15, 2017

在SS+dnsmasq模式中使用域名方式,还是有点问题。重启以后,还是不能解析地址。
ss+dnsmasq+chinadns使用域名方式多次重启,完全没问题。

@gitx6
Copy link
Author

gitx6 commented Jun 19, 2017

对使用域名的方式

在WebUI-Advanced Settings-WAN-WAN DNS Setting-Connect to DNS Server automatically 设置为No。
然后手动指定DNS server可以解决FQ服务器域名无法解析的问题

@luoyanghero
Copy link

"server":"123.123.123.123", // 这是你国外服务器地址(服务器上应该运行一个 shadowsocks server)

这里是否可以用域名替代IP地址。比如:"fq.vps.com"替代"123.123.123.123"

讲域名替换成IP,有啥好处?

@zw963
Copy link
Owner

zw963 commented Jun 21, 2020

如果你不停地换 VPS, 每次更换后, 将自己的域名指向新的 VPS 即可, SS 的 config 中不用修改.

@lcchaolin
Copy link

你好,大神, 能教下, 怎么搭建shadowsocks使用域名,而不是ip地址,不要用插件,Ws, 这些, 纯原版,只不过是使用域名,而不是ip地址

@zw963
Copy link
Owner

zw963 commented Jun 29, 2023

好久不用了,直接更换 ip 为域名不可以吗?

@lcchaolin
Copy link

好久不用了,直接更换 ip 为域名不可以吗?

怎样直接更换, 直接server字段的值更改为域名吗, 我域名也解析到我的IP。 但是还是不可以, 不知道哪里没做

@zw963
Copy link
Owner

zw963 commented Jul 2, 2023

好久不用了,直接更换 ip 为域名不可以吗?

怎样直接更换, 直接server字段的值更改为域名吗, 我域名也解析到我的IP。 但是还是不可以, 不知道哪里没做

你把 server 字段从 ip 换成域名,不工作吗?

注意,所有到你的 server 的 UDP 请求,必须直连。

iptables -t mangle -A V2RAY_UDP -d $v2ray_server_ip -j RETURN

@qingyise20
Copy link

好久不用了,直接更换 ip 为域名不可以吗?

怎样直接更换, 直接server字段的值更改为域名吗, 我域名也解析到我的IP。 但是还是不可以, 不知道哪里没做

好久不用了,直接更换 ip 为域名不可以吗?

怎样直接更换, 直接server字段的值更改为域名吗, 我域名也解析到我的IP。 但是还是不可以, 不知道哪里没做

你好,请问你解决这个问题了吗

@lcchaolin
Copy link

lcchaolin commented Sep 27, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants