与同一networking上的其他机器共享一个openvpn客户机实例

我在我的主服务器上安装了一个docker容器和openvpn客户端。 它连接到ipvanish,我可以使用--network container:ipvanish连接其他docker集装箱--network container:ipvanish使这些容器的所有stream量通过VPN连接。 这很好。 但是,我想将同一networking上的其他设备(不使用docker)连接到同一个vpn容器,通过ipvanish路由stream量。 我设置容器使用macvlan驱动程序,所以我的路由器可以看到在192.168.1.2的vpn容器,我可以从任何设备在同一个子网上ping它。

我不确定最好的方法去做这件事。 我可以使用http或socks代理轻松完成此操作,还是必须创build隧道到vpn容器? openvpn提供了一种方法来处理这个问题吗? 我需要一点指导。

Docker镜像

 FROM alpine:3.6 ENTRYPOINT ["openvpn"] VOLUME ["/config"] RUN apk add --no-cache openvpn 

Docker构build

 docker build --no-cache -t openvpn . 

docker集装箱

 CONFIG=ipvanish-US-New-York-nyc-a01 sudo rm /appdata/ipvanish/configs/${CONFIG}.conf sudo cp /appdata/ipvanish/configs/${CONFIG}.ovpn /appdata/ipvanish/configs/${CONFIG}.conf sudo chown nobody:users /appdata/ipvanish/configs/${CONFIG}.conf sudo sed -i -e "s#ca ca.ipvanish.com.crt#ca /config/configs/ca.ipvanish.com.crt#g" /appdata/ipvanish/configs/${CONFIG}.conf sudo sed -i -e "s#auth-user-pass#auth-user-pass /config/auth.conf#g" /appdata/ipvanish/configs/${CONFIG}.conf docker run --restart=always -d \ --name ipvanish \ --cap-add=NET_ADMIN \ --device /dev/net/tun \ --network macvlan0 \ -v /appdata/ipvanish:/config \ openvpn --config /config/configs/${CONFIG}.conf 

Macvlanconfiguration

 docker network create --driver macvlan \ --subnet 192.168.1.0/24 --gateway 192.168.1.1 \ --opt parent=br0 macvlan0