Docker搭建openWRT,旁路由设置

2025 年 1 月 2 日 星期四
66

Docker搭建openWRT,旁路由设置

因需要设置成旁路由,需要开启网卡的混杂模式 ```shell

查看物理网卡名称

ifconfig

我这里是enp1s0

sudo ip link set enp1s0 promisc on

docker创建macvlan网络,名称为macvlanop,路由器网关为192.168.5.1根据情况修改,--subnet设置为与网关同一网段且为.0/24,桥接模式

docker network create -d macvlan --subnet=192.168.5.0/24 --gateway=192.168.5.1 -o parent=enp1s0 -o macvlan_mode=bridge macvlanop ```

下载镜像,我们这里用catwrt shell docker pull miaoer/catwrt

启动容器,网络设置为上面设置的macvlan shell docker run -it -d --restart always --network macvlanop --name catwrt --privileged miaoer/catwrt /sbin/init

进入容器设置网络为静态ip以及作为旁路由 ```shell

进入容器

docker exec -it catwrt /bin/sh

修改网络配置

vi /etc/config/network

修改为下面配置

option type 'bridge' #桥接 option ifname 'eth0' #网卡名 option proto 'static' #静态ip模式 option netmask '255.255.255.0' option ip6assign '60' option ipaddr '192.168.5.121' #openwrt的静态ip option gateway '192.168.5.1' #你路由器网关 option dns '192.168.5.1' #dns

重启网络

/etc/init.d/network restart ```

因为macvlan的安全机制,此时局域网还是无法访问openwrt的,需要再新增一个macvlan进行桥接,配置宿主机和容器通讯 ```shell

宿主机创建macvlan2桥接到物理网卡

sudo ip link add macvlan2 link enp1s0 type macvlan mode bridge

设置macvlan2的ip

sudo ip addr add 192.168.5.240 dev macvlan2

启动macvlan2

sudo ip link set macvlan2 up

增加路由表,openwrt的ip关联到macvlan2,(多个容器执行下面一句即可)

sudo ip route add 192.168.5.121 dev macvlan2 ```

  • 注意:以上设置重启后会失效,需要重新执行sudo ip route add 192.168.5.121 dev macvlan2

以上设置以后,可通过192.168.5.121访问openwrt了

docker重启后无法访问openwt解决方案: 进容器,/etc/config/uhttpd.conf,注释两个443端口监听,再重启/etc/init.d/uhttpd restart

使用社交账号登录

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...