如何限制仅通过一个主机名访问 socks5 服务器?

如何限制仅通过一个主机名访问 socks5 服务器?

我有一个但丁服务器socks5 代理) 指向我的一个主机名 ( sub.example.com)。下面是我的基本配置(我自己的域名已替换为示例变体):

logoutput: /var/log/danted.log

internal: sub.example.com port = 9000
external: sub.example.com

user.privileged: root
user.notprivileged: nobody

socksmethod: username

client pass {
    from: 0/0 to: sub.example.com
    log: error connect disconnect
}

socks pass {
    from: 0/0 to: sub.example.com
    command: bind connect udpassociate
    log: error # connect disconnect
}

socks pass {
    from: 0/0 to: sub.example.com
    command: bindreply udpreply
    log: error # connect disconnect
}

# Even blocked the main hostname, also tried ".example.com",
# with libwrap compiled and activated (and "hosts.access" too)

socks block {
    from: 0/0 to: example.com
    log: error connect disconnect
}

我想将代理连接限制为sub.example.com,但我仍然可以通过其他子域和 进行连接example.com。是否可以限制为仅一个主机名?

答案1

找到了解决方法,但这是一个不好的做法。因为我使用的是 DigitalOcean,他们为每个服务器提供浮动 IP。我激活了它并执行了一些操作将流量转发到实际的浮动 IP。

根据这篇文章如何在 DigitalOcean 上使用浮动 IP您必须首先接收本地 IP 才能使用浮动 IP 执行操作。

  1. 输入curl -s http://169.254.169.254/metadata/v1/interfaces/public/0/anchor_ipv4/address您的服务器并记住收到的 IP 地址。
  2. 编辑文件中的字段internalexternal如果需要)danted.conf以匹配收到的 IP。
  3. 重新启动服务器。

所以现在一切都运行正常,除了浮动 IP 还没有 IPv6。

相关内容