У меня есть беспроводной USB-адаптер, и я бы хотел, чтобы мой док-контейнер использовал его только для Интернета (а не для собственного беспроводного адаптера компьютера).

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

До сих пор я безуспешно пробовал следующее (enx582c80139263 - это беспроводной USB-адаптер):

1) создать сетевое пространство имен для контейнера и перемещать адаптер беспроводной сети, что (следуя этим):

sudo docker run -dit --rm --privileged --net none --name mycontainer debian
pid=$(sudo docker inspect --format '{{.State.Pid}}' mycontainer);
sudo mkdir -p /var/run/netns;
sudo ln -s /proc/$pid/ns/net /var/run/netns/$pid;
sudo ip link set dev enx582c80139263 netns $pid;

Когда я делаю это, адаптер больше не показывает IP-адрес, когда я делаю ifconfig. Я не уверен в том, как беспроводной адаптер обычно получает IP-адрес в глобальном пространстве имен, поэтому я застрял здесь

2) создать сетевое пространство имен для контейнера, а затем создать пару веток: один ветвь в пространстве имен контейнера, а другой - в глобальном пространстве имен. Затем я дал им IP-адреса и использовал мост (brctl) для подключения интерфейса беспроводного адаптера к глобальному пространству имен.

sudo docker run -dit --rm --privileged --net none --name mycontainer debian
pid=$(sudo docker inspect --format '{{.State.Pid}}' mycontainer);
sudo mkdir -p /var/run/netns;
sudo ln -s /proc/$pid/ns/net /var/run/netns/$pid;
sudo ip link add veth0 type veth peer name veth1
sudo ip link set veth1 netns $pid
sudo ip netns exec $pid ifconfig veth1 10.0.0.1/24 up
sudo ifconfig veth0 10.0.0.2/24 up
sudo brctl addbr br0
sudo brctl addif br0 enx582c80139263 veth0

Я могу пропинговать одну ветку к другой, прежде чем добавить глобальную ветку к мосту, но не могу после ее добавления. Не уверен почему

Кроме того, один я подключаю беспроводной адаптер к мосту, я не могу получить доступ к Интернету (я думал, что Интернет будет доступен с встроенной беспроводной карты, потому что я все еще подключен к Wi-Fi).


Возможно, я поступаю об этом совершенно неправильно ... буквально за последние несколько дней узнал о работе с сетями и докере. Пожалуйста, дайте мне знать, если я подхожу к этому по-другому

0