Мне нужно создать решение на основе докеров, чтобы подключиться к удаленному хосту через VPN. Единственный способ в macOS - это создание виртуальной машины, выступающей в качестве шлюза к VPN.
macOS --> VM + docker daemon --> VPN
Начиная с этот пример:
# Create a docker-machine and configure shell to use it
docker-machine create fortinet --driver virtualbox
eval $(docker-machine env fortinet)
# Start the priviledged docker container on its host network
docker run -it --rm \
--privileged --net host \
-e VPNADDR=host:port \
-e VPNUSER=me@domain \
-e VPNPASS=secret \
auchandirect/forticlient
# Add route for you remote subnet (ex. 192.168.100.0/24)
sudo route add -net 192.168.100.0/24 $(docker-machine ip fortinet)
Я поместил эти строки в сценарий bash на Mac, чтобы подключиться к VPN.
Когда я запускаю его, я получаю:
add net 192.168.100.0/24: gateway 192.168.99.103 # 192.168.99.103 is my VM ip
На самом деле:
$ route get 192.168.100.10
route to: 192.168.100.0
destination: 192.168.100.0
mask: 255.255.255.0
gateway: 192.168.99.103
interface: vboxnet0
flags: <UP,GATEWAY,DONE,STATIC,PRCLONING>
recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire
0 0 0 0 0 0 1500 0
все в порядке, но если я попытаюсь ping 192.168.100.10
Я не могу связаться с удаленным хостом.
Как я могу это исправить?