ToB企服应用市场:ToB评测及商务社交产业平台

标题: ubuntu使用docker安装openwrt [打印本页]

作者: 羊蹓狼    时间: 2024-6-15 00:27
标题: ubuntu使用docker安装openwrt
系统:ubuntu24.04
架构:x86
1. 安装docker

1.1 离线安装

docker下载地点
根据系统版本,依次下载最新的三个关于docker的软件包

然后再ubuntu系统中依次按顺序安装这三个包
  1. sudo dpkg -i container.io*.deb
  2. sudo dpkg -i docker-ce-cli*.deb
  3. sudo dpkg -i docker-ce*.deb
复制代码
1.2 在线安装

  1. sudo apt install containerd.io docker-ce-cli docker-ce
复制代码
2. 设置物理机网络

2.1 查察物理机网卡信息

  1. ip a
复制代码
如下为物理机的网卡信息
  1. 1: lo: <LOOPBACK,UP,LOWER_UP> ************
  2. 2: enp1s0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> **********
  3. 3: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,PROMISC,UP> ***************
  4. 4: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> ************
  5. 6: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> ****************
复制代码
  为了方便设置使用以及后续登录openwrt背景管理系统,你必要设置网卡信息
  2.2 网络设置

开启网口的稠浊模式(暂时)
  1. ip link set enp1s0 promisc on
  2. ip link set enp2s0 promisc on
复制代码
开启IP转发功能
  1. # 修改配置文件,解除net.ipv4.ip_forward=1的注释
  2. vim /etc/sysctl.conf
  3. # net.ipv4.ip_forward = 1
复制代码
2.3 netplan网卡设置

   然后我们做以下自界说规定(读者可自行计划)
  
  1. # ubuntu 20.04
  2. sudo vim /etc/netplan/00-installer-config.yaml
  3. # ubuntu 24.04
  4. sudo vim /etc/netplan/50-cloud-init.yaml
  5. # 其他系统请参考其他资料
复制代码
设置如下:其中Lan口设置为静态IP,Wan设置为DHCP动态获取IP
  1. network:
  2.   ethernets:
  3.     enp1s0:
  4.       dhcp4: true   # 启用DHCP
  5.       dhcp6: false
  6.       # addresses: [192.168.1.10/24]
  7.       optional: true
  8.     enp2s0:
  9.       dhcp4: false
  10.       dhcp6: false
  11.       addresses: [192.168.2.1/24] #设置静态IP
  12.       optional: true
  13.   version: 2
复制代码
  设置完物理机的ip地点后,你必要使用其他PC电脑毗连物理机的Lan口,使用远程ssh(vscode-remote、powershell、xshell等)完成后续的设置
  3. 设置docker

3.1 设置假造网络接口

   在Lan口网卡enp2s0上附加网络接口netLan,指定网段192.168.2.0/24
  1. docker network create -d macvlan --subnet=192.168.2.0/24 -o parent=enp2s0 netLan
复制代码
查察已添加的docker网络接口
  1. docker network ls
复制代码
  如果想要修改子网段,必要先删除该网络后再重新添加,而且确保没有容器使用该网络
  1. docker network rm netLan
复制代码
3.2 拉取openwrt镜像

  1. # 拉取镜像
  2. docker pull registry.cn-shanghai.aliyuncs.com/suling/openwrt:x86_64
  3. # 查看所有镜像列表
  4. docker images
复制代码
若后续发生问题,可重新使用该镜像生成openwrt容器
3.3 启动openwrt容器

   注意:请勿将enp2s0和netLan设置为相同静态IP,否则无法区分物理机和docker容器的ip地点
  1. docker run --restart always --name openwrt -d --network netLan --ip 192.168.2.2 --privileged registry.cn-shanghai.aliyuncs.com/suling/openwrt:x86_64 /sbin/init
复制代码
  
  3.4 附加网络

  1. # 附加Wan口网络
  2. docker network create -d macvlan --subnet=192.168.1.0/24 -o parent=enp1s0 netWan
  3. docker network connect netWan openwrt
复制代码
3.5 *报错

   若openwrt启动失败、发生报错等问题,可重新举行设置
  1. # 查看所有容器信息
  2. sudo docker ps -a
  3. # 停止容器
  4. docker stop [容器名称/容器ID]
  5. # 删除容器
  6. docker rm [容器名称/容器ID]
  7. # 删除网络
  8. docker network rm netWan
  9. docker network rm netLan
复制代码
4. 设置openwrt容器

  1. # 进入容器
  2. docker exec -it openwrt /bin/sh
  3. # 重置root密码(openwrt)
  4. passwd
  5. # 配置网卡信息(openwrt)
  6. vi /etc/config/network
复制代码
网卡设置必要修改的部分如下
  1. config interface 'lan'
  2.         option type 'bridge'
  3.         option ifname 'eth0'
  4.         option proto 'static'
  5.         option netmask '255.255.255.0'
  6.         option ip6assign '60'
  7.         option ipaddr '192.168.2.2'
  8.         option gateway '192.168.2.1'  
  9.         option dns '192.168.2.1'
复制代码
重启网络服务
  1. # 重启网络服务(openwrt)
  2. /etc/init.d/network restart
复制代码
设置完后,个人PC电脑应当毗连到物理机的Lan网口,使用浏览器访问openwrt的ip地点192.168.2.2,即可进入到openwrt的管理界面
5. openwrt系统设置

5.1 设置wan口

   添加wan口

    设置为由DHCP客户端,从上一级路由器中获取IP

  5.2 设置lan口

   设置Lan口子网

    拉到最下面,取消《忽略此接口的选项》,即开启DHCP,如许Lan口下的设备才能获取到IP地点,点击生存&应用

  6. 参考资料

[1] Ubuntu通过Docker部署OpenWRT
[2] 在docker中搭建openwrt软路由系统,实现多网口以及主路由功能

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4