我有很多pppoe帐户,并想与他们建立一个小蜘蛛网络。
所以,我想使用docker虚拟化多个centos methine并在其中进行pppoe拨号。
我的次甲基有两个适配器,em1用于pppoe拨号,em2有一个静态IP地址。当我运行带有桥接器的容器时,它使用em2并可以访问Internet。
我试过macvlan:
docker network create -d macvlan --subnet 10.0.0.0/24 --gateway 10.0.0.1 -o parent=em1 -o macvlan_mode=bridge pppoe
和主持人模式:
docker run --net=host --cap-add=NET_ADMIN -it --rm pppoe
似乎没什么用......
如何在容器中拨号并使用em1进行分配?
答案 0 :(得分:1)
pppoe由于无法访问/ dev / ppp设备而失败,您可以使用以下方法解决此问题:
--privileged --cap-add=NET_ADMIN
答案 1 :(得分:0)
昨天我刚刚解决了这个问题,创建了OpenWRT 18.06.2作为容器,将我的homelan用作主要路由器,并使用macvlan创建了WAN网络。
主要问题是pppoe模块未在主机端加载,因此在container(OpenWRT)端,您将看到错误消息,例如“ / dev / ppp不存在,请通过mknod / dev / ppp创建它... ”。按照说明创建/ dev / ppp后,该问题将得到解决,但是暂时的。重新启动系统后,必须再次创建/ dev / ppp。
要完全解决此问题,只需在启动时在主机端加载pppoe模块
echo pppoe >> /etc/modules
然后/ dev / ppp将在容器(OpenWRT)端自动创建。
在以下环境中测试: