socks5 サーバーへのアクセスを 1 つのホスト名のみに制限するにはどうすればよいですか?

socks5 サーバーへのアクセスを 1 つのホスト名のみに制限するにはどうすればよいですか?

私はダンテサーバーsocks5 プロキシ) は、私のホスト名の 1 つ ( 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 つのホスト名のみに制限することは可能ですか?

答え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. 受信した IP と一致するように、ファイル内のinternal(external必要な場合は) フィールドを編集します。danted.conf
  3. サーバーを再起動します。

フローティング IP に IPv6 がまだないことを除いて、すべて正常に動作するようになりました。

関連情報