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

582
SkyMidnight

У меня есть 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. Можно ли ограничиться только одним именем хоста?

0

1 ответ на вопрос

0
SkyMidnight

Найден обходной путь, но это плохая практика. Поскольку я использую 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. Отредактируйте internalexternalпри необходимости) поле в вашем danted.confфайле, чтобы соответствовать полученному IP.
  3. Перезагрузите сервер.

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