1

I have a wireless usb adapter and I would like my docker container to use just this for the internet (not the computers own wireless adapter). I think I can do this if I know how to access the adapter from a network namespace (because I can create a namespace for the docker container which should then also have access to it).

My knowledge of networking is basic so I have tried to read a lot to work out how to do this but I'm completely out of my depth.

So far I have unsuccessfully tried the following (enx582c80139263 is the usb wireless adapter):

1) create a network namespace and to move the wireless adapter to that (by following this):

sudo ip netns add ns1
sudo ip link set enx582c80139263 netns ns1
sudo ip netns exec ns1 ip address add 10.0.0.1/24 dev enx582c80139263
sudo ip netns exec ns1 ip link set dev enx582c80139263 up

I tried creating a default route for all ip's directly and also with the gateway set as 10.0.0.1, but neither worked:

sudo ip netns exec ns1 route add default enx582c80139263
sudo ip netns exec ns1 route add default gw 10.0.0.1 enx582c80139263

I think I may need to do something with ip routing or iptables for this to work but I'm not sure what.

2) create a network namespace for the container and then creating veth pair, with one veth in the container namespace and the other in global namespace. Then I gave them ip addresses and used a bridge (brctl) to connect the wireless adapter interface to the global namespace veth.

sudo ip netns add ns1 
sudo ovs-vsctl add-br br0

sudo ip link add veth0 type veth peer name veth1
sudo ip link set veth0 netns ns1
sudo ovs-vsctl add-port br0 veth1
sudo ovs-vsctl add-port br0 enx582c80139263

sudo ip link set dev veth1 up
sudo ip netns exec ns1 ip link set dev veth0 up
sudo ip netns exec ns1 ip address add 192.168.1.99/24 dev veth0

I can ping from one veth to the other if I delete the bridge, but can't when the bridge is there. Not sure why, maybe need to change iptables or ip routing.


I may be going about this completely the wrong way...literally learnt about networking and docker in the past few days. Please let me know if I should be approaching this a different way

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Browse other questions tagged or ask your own question.