New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
在docker中运行openwrt #4
Comments
能否写一下如何在docker中使用openwrt,我没有测试成功 |
佩服博主的抽象思维能力,配网络都不用画图。 另外: 建议是不要动宿主机的路由,删除宿主机的默认路由在很多场景下还是比较危险的,我的做法是: 而后在容器中配置路由: |
其实觉得如果在容器起来的时候使用--net host 会更加简单,后面加MacVlan网卡和配路由应该都不用弄了,但是没有测试过 |
@WinterXMQ @pingod |
我家里的宽带网络是直接DHCP获取公网ip的。我是在双网口群辉Docker跑Openwrt的,打算拿来做主路由。按照博主的教程配置好了以后,插网线到WAN口,但是公网ip就直接被群辉获取了,Openwrt根本无法获取到,请问这种情况,我完全按照上面的教程去做可以啦? |
@darktitty 群晖需要关闭 DHCP,同时,网线必须对应 Openwrt WAN 侧,并且在群晖中新建一个 macvlan 虚拟接口(对应 Openwrt LAN 侧的那个网卡),这样才能通过 Openwrt 来上网。 |
奇怪的是 我执行第五步以后 openwrt就连不上啦 晚点我试试在Debian上搞搞看 |
新编译的rootfs.tar.gz拖进docker启动后,web显示不正常:luci web响应速度比较慢,首页网口信息显示“正在收集”无信息显示,工作时间和负载也是空白,能ping通网关。 |
@kanshudj |
你好,群晖里的docker能访问到吗?试了很多次了, 还是访问不了docker中的openwrt? |
请教一下,docker中运行openwrt需要哪些内核模块呢?在群晖里的docker装上了,就是没法访问 |
@ywjdlq 我折腾了好久没成功 都放弃啦… |
@ywjdlq |
@lisaac |
@ywjdlq |
@ywjdlq |
docker 中的openwrt 外网和网关都不通。。 |
成功配置双网卡。但添加第三个网卡作为第二LAN口后,wan口就无法pppoe拨号了。 |
@deepline1986 |
@lisaac
在宿主机给容器断开第二个lan口的macvlan,重启宿主机,wan口拨号恢复正常。 另外,请问宿主机建立bridge-lan,是分割wan口和lan口,还是别的理解?谢谢。 |
@deepline1986 另外,关于网桥的方案,我也没测试过,只是一个想法: |
👍感谢分享 |
这种方式 openwrt 的端口转发好像不行啊,是不是必须在 |
尝试了下--net host,是无法使用的,至少本人测试的时候docker container一起来,宿主机网络就混乱造成重启,总结了一下
|
遇到一个问题: |
我搞了另一个做法 |
在容器中做tproxy可能够呛,我在podman里部署带tproxy的v2,结果提示权限不足,root下启动容器也一样… |
遇到个奇怪的问题,我有4个网口A,B,C,D, 网口A在容器内是eth0作为wan,网口B,C,D分别为eth1, eth2, eth3,这3个网口在openwrt里面被桥接到br-lan,奇怪的是只有B网口接上电脑能上网(其余C,D网口表现为访问不到网关,tcp udp ping均不行)。 |
非要跑macvlan的话果然要特权模式,不知道能不能用普通的网桥。 |
可以的,--cap-add NET_ADMIN,如果需要拨号的话宿主机先加载pppoe模块, 再加上 --device /dev/ppp,可以避免使用特权模式 |
实际上我还要跑透明代理,防火墙麻烦。 |
基于iptables的透明代理不影响的,在桥接模式的容器里面完美使用 |
马克一下,曾主的网络环境是什么?这条路由设置啥意思啊? |
请问大佬们,我的r2s刷了官方armbian.按照上面教程,导入官方armvirt的openwrt ,在op里面执行ip link show 只有一个lo接口,没有eth0 和lan0 怎么办 |
docker 中运行 openwrt
[toc]
思路
利用
macvlan
方式创建虚拟接口进行配置。有感于来自恩山 betterman 及 rightwifi2017 两位大佬斐讯 N1 的玩法,也获得两位大佬的帮助,在此感谢两位大佬。
由于 N1 为单网卡,所以配置只能为单臂路由,本案为双网卡
opewnrt
机器拥有双网卡:
enp1s0
及enp3s0
,本案将enp3s0
用作LAN
口,enp1s0
用作WAN
口。0. 安装 docker
1. 配置系统环境
2.docker 网络配置
3. 创建容器
4. 配置 openwrt
5. 宿主机出口
由于
docker
网络采用macvlan
的bridge
模式,即使宿主机与容器在同一网段,相互之间也是无法通信的。为了解决这个问题,需利用多个
macvlan
接口之间是互通的原理,在LAN
口新建一个macvlan
虚拟接口:或者,若是在 debian 中可以编辑
/etc/network/interface
并加入:6. 配置客户端 IP&enjoy
后续就是 openwrt 的玩法,除了没有 wifi,其他基本一致。有一点,若需要加载内核模块,则需要在 host 中事先加载
The text was updated successfully, but these errors were encountered: