Skip to content
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

运行container后,只有lo 接口启动。 #1

Open
haha110110 opened this issue Mar 16, 2024 · 15 comments
Open

运行container后,只有lo 接口启动。 #1

haha110110 opened this issue Mar 16, 2024 · 15 comments
Labels
bug Something isn't working

Comments

@haha110110
Copy link

群晖 网络环境已经按照教程配置。
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: sit0@NONE: mtu 1480 qdisc noop state DOWN group default qlen 1
link/sit 0.0.0.0 brd 0.0.0.0
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:11:32:e1:e9:04 brd ff:ff:ff:ff:ff:ff
inet 192.168.30.85/24 brd 192.168.30.255 scope global eth1
valid_lft forever preferred_lft forever
4: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether 00:11:32:e1:e9:03 brd ff:ff:ff:ff:ff:ff
inet 169.254.26.84/16 brd 169.254.255.255 scope global eth0
valid_lft forever preferred_lft forever
5: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 02:42:2a:37:32:30 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
inet6 fe80::42:2aff:fe37:3230/64 scope link
valid_lft forever preferred_lft forever
7: docker8a028dd@if6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default
link/ether 0a:4a:da:07:46:38 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet6 fe80::84a:daff:fe07:4638/64 scope link
valid_lft forever preferred_lft forever
20: docker55c4183@if19: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default
link/ether 86:4a:13:65:4e:7a brd ff:ff:ff:ff:ff:ff link-netnsid 1
inet6 fe80::844a:13ff:fe65:4e7a/64 scope link
valid_lft forever preferred_lft forever

命令运行:docker run -d --restart always --name zzopenwrt --network macnet --privileged registry.cn-hangzhou.aliyuncs.com/zzsrv/openwrt:x86_64 /sbin/init

network config 如下:
cat /etc/config/network

config interface 'loopback'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
option device 'lo'

config globals 'globals'
option packet_steering '1'

config interface 'lan'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '192.168.1.2'
option gateway '192.168.1.1'
option dns '192.168.1.1'
option device 'br-lan'

config device
option name 'br-lan'
option type 'bridge'
list ports 'eth0'

config interface 'utun'
option proto 'none'
option ifname 'utun'
option device 'utun'

但是使用Ifconfig查看:
ifconfig
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

只有这个一个接口。

请问是哪里的问题?

@zzsrv
Copy link
Owner

zzsrv commented Mar 19, 2024

1、打开网卡混杂模式,其中eth0根据ifconfig命令找到自己的本地网卡名称替换
sudo ip link set eth0 promisc on
2、创建名称为macvlan的虚拟网卡,并指定网关gateway、子网网段subnet、虚拟网卡的真实父级网卡parent(第一步中的本地网卡名称)
docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 macnet
3、查看虚拟网卡是否创建成功,成功的话能看到名称为“macnet”的虚拟网卡
docker network ls
4、拉取镜像,可以通过阿里云镜像提升镜像拉取速度
docker pull registry.cn-hangzhou.aliyuncs.com/zzsrv/openwrt:latest
5、创建容器并后台运行
docker run --restart always --name openwrt -d --network macnet --privileged zzsrv/openwrt /sbin/init
6、进入容器内部环境
docker exec -it openwrt bash
7、根据自己实际情况修改网络配置,修改完成后保存配置
vi /etc/config/network
8、退出容器内部环境,在宿主机环境执行重启容器命令
docker container restart openwrt

@haha110110
Copy link
Author

是完全按照这个步骤来的。无论是eth0 还是br-lan都不启动。另外我发现,我通过ip命令强行吧eth0启动后,访问openwrt后台,状态-》firewall无法显示。但是我换了piaoyizy/openwrt-x86的根据你上面的配置就可以。我不确定是否存在什么问题。

@zzsrv
Copy link
Owner

zzsrv commented Apr 3, 2024

我按上面步骤的具体操作如下,可以正常访问,你可以参考下。

image image image image

@HuoDaxia
Copy link

HuoDaxia commented Apr 5, 2024

症状跟楼主一样
日志提示:sh: write error: I/O error,容器起来以后看着是获取到了macvlan的IP地址
运行环境是黑裙DSM7.2.1,打开了open vswitch和promisc on都不行,感觉上跟运行环境有关系

@zzsrv
Copy link
Owner

zzsrv commented Apr 5, 2024

CPU架构是X86架构64位的吧,这个镜像不支持X86架构32位,以及ARM架构的CPU。

@HuoDaxia
Copy link

HuoDaxia commented Apr 7, 2024

CPU架构是X86架构64位的吧,这个镜像不支持X86架构32位,以及ARM架构的CPU。

x86-64,CPU是5200u

@zzsrv
Copy link
Owner

zzsrv commented Apr 7, 2024

CPU架构是X86架构64位的吧,这个镜像不支持X86架构32位,以及ARM架构的CPU。

x86-64,CPU是5200u

那估计就是群辉系统Docker环境的问题

@sorker
Copy link

sorker commented Apr 9, 2024

我也是 提示日志提示:sh: write error: I/O error,有人解决了吗

@HuoDaxia
Copy link

CPU架构是X86架构64位的吧,这个镜像不支持X86架构32位,以及ARM架构的CPU。

x86-64,CPU是5200u

那估计就是群辉系统Docker环境的问题
隔壁家说用lean大源码编译的那个能运行起来,要不大佬也debug一下?

@zzsrv zzsrv added the wontfix This will not be worked on label Apr 26, 2024
@zzsrv
Copy link
Owner

zzsrv commented May 3, 2024

症状跟楼主一样 日志提示:sh: write error: I/O error,容器起来以后看着是获取到了macvlan的IP地址 运行环境是黑裙DSM7.2.1,打开了open vswitch和promisc on都不行,感觉上跟运行环境有关系

特意装了个黑群晖7.2系统,复现了日志提示:sh: write error: I/O error,容器正常启动没问题,这个是openwrt镜像初始化报错了,初始化执行的命令是 /sbin/init,怀疑是群晖的docker环境有限制,这种情况要么群晖修复docker环境问题,要么上游immortalwrt做适配兼容群晖docker环境。

@zzsrv zzsrv added bug Something isn't working and removed wontfix This will not be worked on labels Jun 11, 2024
@Mrkang168
Copy link

dsm7.2 也是这个问题,不过运行sulinggg/openwrt:x86_64 docker版可以正常使用,但是里面的Openwrt太老了,是18.05版本。

@Mrkang168
Copy link

CPU架构是X86架构64位的吧,这个镜像不支持X86架构32位,以及ARM架构的CPU。

x86-64,CPU是5200u

那估计就是群辉系统Docker环境的问题
隔壁家说用lean大源码编译的那个能运行起来,要不大佬也debug一下?

大佬,麻烦提供下这个可以运行起来的连接。。。感谢

@zzsrv
Copy link
Owner

zzsrv commented Aug 10, 2024

dsm7.2 也是这个问题,不过运行sulinggg/openwrt:x86_64 docker版可以正常使用,但是里面的Openwrt太老了,是18.05版本。

这就是个旁路由,不在乎新老吧,能运营就行,可以通过升级插件实现最新应用

@zzsrv
Copy link
Owner

zzsrv commented Aug 10, 2024

CPU架构是X86架构64位的吧,这个镜像不支持X86架构32位,以及ARM架构的CPU。

x86-64,CPU是5200u

那估计就是群辉系统Docker环境的问题
隔壁家说用lean大源码编译的那个能运行起来,要不大佬也debug一下?

大佬,麻烦提供下这个可以运行起来的连接。。。感谢

可以先用上面你说的那个18.05的,本项目也是参考那个项目把OpenWrt更新到了最新版而已

@Mrkang168
Copy link

CPU架构是X86架构64位的吧,这个镜像不支持X86架构32位,以及ARM架构的CPU。

x86-64,CPU是5200u

那估计就是群辉系统Docker环境的问题
隔壁家说用lean大源码编译的那个能运行起来,要不大佬也debug一下?

大佬,麻烦提供下这个可以运行起来的连接。。。感谢

可以先用上面你说的那个18.05的,本项目也是参考那个项目把OpenWrt更新到了最新版而已

好的感谢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants