在docekr中运行openwrt镜像

1镜像下载

地址:
https://archive.openwrt.org/releases/23.05.1/targets/x86/64/
在这里插入图片描述

#linux 下下载命令为
wget https://archive.openwrt.org/releases/23.05.1/targets/x86/64/openwrt-23.05.1-x86-64-rootfs.tar.gz ./

#加载镜像
docker import openwrt-23.05.1-x86-64-rootfs.tar.gz openwrt-23.05.1-x86-64-rootfs

2启动容器

#参考 https://blog.csdn.net/qq_38251691/article/details/128356619
ip link set enp3s0 promisc on
ip link set enx5414a72848d0 promisc on

docker network create -d macvlan --subnet=192.168.10.0/24 --gateway=192.168.10.1 -o parent=enp3s0 maclan

#docker run -itd --ipc=host --net=host --name openwrt --privileged=true openwrt-23.05.1-x86-64-rootfs:latest /sbin/init
docker run -d --restart always --name openwrt -d --network maclan --privileged --ip 192.168.99.2 openwrt-23.05.1-x86-64-rootfs:latest /sbin/init

docker exec -it openwrt sh

#如果无法访问互联网, 加一条openwrt的防火墙自定义规则, 然后重启防火墙
iptables -t nat -I POSTROUTING -s 192.168.10.0/24  -j MASQUERADE

docker network create -d macvlan --subnet=192.168.88.0/24 --gateway=192.168.88.1 -o parent=enx5414a72848d0 macwan
docker network connect macwan openwrt

3改配置

#将opkg的下载地址换成国内地址
sed -i 's_downloads.openwrt.org_mirrors.tuna.tsinghua.edu.cn/openwrt_' /etc/opkg/distfeeds.conf
#更新源
opkg update

#重新设置密码
passwd


/etc/init.d/network restart

4其他命令

opkg update

opkg install kmod-usb-net kmod-usb-net-rndis kmod-usb-net-cdc-ether usbutils udev

lsusb

ifconfig -a



uci del network.wan

uci set network.wan=interface

uci set network.wan.ifname=eth2

uci set network.wan.proto=dhcp

uci commit network


ifdown wan

ifup wan
要在Docker运行OpenWrt,你可以按照以下步骤进行操作: 1. 创建一个虚拟网络,可以使用以下命令创建一个名为macnet的虚拟网络: ``` docker network create -d macvlan --subnet=192.168.123.0/24 --gateway=192.168.123.1 -o parent=eth0 macnet ``` 注意:根据你家里的IP地址,你可能需要调整子网信息。 2. 准备OpenWrt镜像,并生成并启动相应配置好的容器。使用以下命令: ``` docker run --restart always -d --network macnet --privileged 相应镜像名 --name opwrt ``` 其,--network后面是上面创建的网络名称,--privileged后面是你安装的OpenWrt镜像名称,--name后面是你自定义的容器名称(这里以opwrt为例)。 3. 如果你想将容器的80端口映射到宿主机的85端口,可以使用以下命令: ``` docker run -d -p 85:80 相应镜像名 ``` 这样,通过浏览器访问宿主机的IP地址加上端口85,就可以访问OpenWrt的web页面了。 4. 如果你需要进入容器内部,可以使用以下命令: ``` docker exec -it \[实例ID前四位\] /bin/sh ``` 这将进入容器的shell环境,你可以在其执行命令和操作容器。 希望这些步骤能帮助你成功在Docker运行OpenWrt。 #### 引用[.reference_title] - *1* *2* [在docker使用opwrt](https://blog.csdn.net/sinat_41804364/article/details/106921147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Linux下使用Docker运行OpenWrt系统](https://blog.csdn.net/weixin_46394311/article/details/117735291)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值