C# Как получить доступ к локальной сети (192.168.xx) в контейнерах Docker - PullRequest
0 голосов
/ 07 января 2020

Это мой первый пост здесь, я просмотрел inte rnet, чтобы решить эту проблему, но понятия не имею, как это сделать, так как я новичок в docker и не настолько хорош в сети ( говорю любезно).

Мне нужен способ доступа к IP-адресу внутренней сети моих компьютеров, который был перенаправлен на порт, который подключается к прокси-серверу. так что по существу 192.168.x.xx: 5000 => someproxyserver.com теперь при настройке SOCKS5 на моем локальном компьютере или даже в C# он может подключиться и работает. но это не относится к docker, снова я полностью noob на docker, я пробовал много вещей, но я не могу получить свой контейнер docker для подключения к серверу socks5.

Я даже пытался запустить контейнер docker с --network=host, но я получаю сообщение об ошибке (нет маршрута к хосту) В идеале я бы не хотел использовать --network host, так как у меня есть много других контейнеров, подключающихся к внешней сети .

var settings = new ProxySettings() {
  Host = localIp,
  Port = port
};
using (var proxyClientHandler = new ProxyClientHandler<Socks5>(settings)) {
  using (var httpClient = new HttpClient(proxyClientHandler)) {
    var response = await httpClient.GetStringAsync("https://api.ipify.org?format=json");
  }
}

это код C#, который я использую для подключения к серверу SOCKS5.

При использовании --network=host

enter image description here

без --network=host

enter image description here

1 Ответ

0 голосов
/ 08 января 2020

Мне удалось как-то заставить эту работу, не включая команды запуска, я думаю, что это не помогло из-за блокировки доступа к моему брандмауэру, это было странно, так как я разрешил доступ к нему, однако после перезагрузки компьютера ранее, это работало :) так что да, если кто-то наткнется на это, просто не забудьте убедиться, что ваш брандмауэр не блокирует доступ к docker

...