Как ограничить доступ к серверу socks5 только через одно имя хоста?

У меня есть dante-сервер (прокси 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.

Согласно этой статье Как использовать плавающие IP-адреса в DigitalOcean, вы должны сначала получить локальный IP-адрес для выполнения действий с плавающим IP-адресом.

  1. Тип curl -s http://169.254.169.254/metadata/v1/interfaces/public/0/anchor_ipv4/address на вашем сервере и запомните полученный IP-адрес.
  2. Изменить internal (а также external если нужно) поле в вашем danted.conf файл, соответствующий полученному IP.
  3. Перезагрузите сервер.

Так что теперь все работает отлично, за исключением того, что плавающие IP еще не имеют IPv6.

Другие вопросы по тегам