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

interface支持负载均衡轮询随机 #528

Closed
superen7527 opened this issue Jul 7, 2024 · 3 comments
Closed

interface支持负载均衡轮询随机 #528

superen7527 opened this issue Jul 7, 2024 · 3 comments

Comments

@superen7527
Copy link

superen7527 commented Jul 7, 2024

我搜过相关关键词 只找到了#98 所以只能自己研究,本人技术有限,刚接触计算机相关编程东西,自己琢磨了一下用法,不足希望可以提点一下。

用法和问题:

我最开始用 gost -L :8080?interface=ip1,ip2 发现 虽然可以成功创建,但是这个不是轮询 ip1成功就会一直用ip1

然后又看看文档

如果不使用上级代理,则可以通过虚拟节点让服务使用多网口进行负载均衡。

使用 gost -L :8080 -F virtual://:0?interface=ip1,ip2 还是只有ip1

研究了一晚上通宵(现在发的是最后的结论部分精简issue),然后就放弃了,单独对10个ip启动10个gost 如下

gost -L ip1:8080?interface=ip1
gost -L ip2:8080?interface=ip2
......

手动10个 然后再套一个 gost -L :8888 -F :8080 在这里做
然后8888做池入口 然后想了想应该在这里做负载 最后改成 gost -L :8888 -F "socks5://ip1:8080,ip2:8080?strategy=rand&maxFails=1&failTimeout=10s"
类似于这样
勉强可以实现我的效果,随机池,但是要启动11个gost如果后面ip有100个 就得101个,,,

补充

我说的这两条命令逻辑看着没问题,但是根本用不了。最后只能使用虚拟网节点。

gost -L :8888 -F :8080 还是一样全部Can't complete SOCKS5 connection用 `gost -L :8888 -F "socks5://ip1:8080,ip2:8080?strategy=rand&maxFails=1&failTimeout=10s"
会返回gost的日志 估计是把gost的日志当做请求体 应该是我哪里搞错了

所以想着 有没有以下更简便的优化
1.interface加一个类似于 strategy 参数 来实现轮询随机负载,可以用gost -L :8080?interface=ip1,ip2&strategy=rand类似于这样的方式启动
2.如果不行 有没有一个gost写法 可以代替我上面的批量部分

gost -L ip1:8080?interface=ip1
gost -L ip2:8080?interface=ip2

实现类似于 gost -L ipx:8080?interface=ipx 输入一个ip列表 自动创建对应ip和对应interface的代理监听端口。

我理解的不知道对不对,还是有什么遗漏的用法 一般做池又是怎么用的。如果本来就有更好更高效简便的实现 能不能指点一下,十分感谢。

@ginuerzh
Copy link
Member

ginuerzh commented Jul 7, 2024

你看到的文档里的虚拟节点例子就可以,不过只能用配置文件方式:

services:
- name: service-0
  addr: ":8080"
  handler:
    type: auto
    chain: chain-0
  listener:
    type: tcp
chains:
- name: chain-0
  hops:
  - name: hop-0
    selector:
      strategy: round
    nodes:
    - name: node-0
      addr: :0
      interface: ip1
      connector:
        type: virtual
      dialer:
        type: virtual
    - name: node-1
      addr: :0
      interface: ip2
      connector:
        type: virtual
      dialer:
        type: virtual
    - name: node-2
      addr: :0
      interface: ip3
      connector:
        type: virtual
      dialer:
        type: virtual

@superen7527
Copy link
Author

superen7527 commented Jul 7, 2024

原来是这样 十分感谢 好像有点明白了 这个虚拟相当于我自己在上游一个个绑定gost 他可以自动绑定不需要启动一个个gost了。

请问一下 这里能否我直接指定网口 比如esn3 然后gost会自动轮询网口列表里面的ip?还是只能一个个手动获取填进去?

@superen7527
Copy link
Author

superen7527 commented Jul 7, 2024

另外请教一下另一个题外话,关于webui项目

1.目前是只能用官方前端链接后端吗,好像文档没看到启动命令。
2.我开放了18080端口 网页访问是404 填到ui.gost.run又连不上 是我操作有什么问题吗?
3.这个ui登录的账号密码,应该是怎在启动时设置的?

找到文档了,大部分都可以解决 好像默认路径是/api 看文档的配置文件找到关键词了。
https://gost.run/tutorials/api/overview/#web-api

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

2 participants