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