【笔记】iKuai通过Docker安装OpenWRT旁路由
前言
iKuai通过Docker安装OpenWRT旁路由
准备工作
- iKuai可以使用Docker的特权模式
- 通过Web控制台进入Ubuntu容器,安装vim编辑器
通过vim编辑文件
1 | apt update && apt install -y vim |
- 通过Web控制台进入Ubuntu容器,安装ssh,并允许远程访问
如果不通过ssh而是直接通过Web控制台进入终端,当使用vim编辑器时会无法跳转,所以必须通过ssh进入Ubuntu容器
1 | apt update && apt install -y openssh-server |
开启网卡的混杂模式(混淆模式)
- Docker容器正常情况下不能和宿主机在相同的网段,但是如果配置双路由最好是在同一网段,所以必须通过开启网卡的混杂模式(混淆模式)来创建macvlan
1 | ip link set lan1 promisc on |
由于不能通过ssh直接进入iKuai的shell,所以需要使用小技巧绕过
通过ssh访问Ubuntu容器,进入挂载的iKuai系统内部目录,修改iKuai预装脚本文件
iKuai系统内部的/usr/ikuai/script/
目录下存放了所有iKuai的预装脚本,可以选择一个无害的脚本就行修改,通过Web管理平台间接执行脚本,经测试,iKuai的Web管理平台在执行脚本时,使用的是root用户
我这里选择备份脚本进行修改,在Web页面点击备份按钮就能执行脚本中的shell代码
/media/
:挂载的iKuai系统根目录
1 | vim /media/usr/ikuai/script/backup.sh |
- 在
backup.sh
文件的119行处新加一条命令,开启lan1
的混杂模式
1 | #导出当前配置 |
- 在Web管理页面,调用能执行自定义命令
我这里选择到处当前配置
功能来执行命令,实现开启网卡混杂模式
通过混杂模式创建macvlan
--subnet=
:设置和宿主机相同的网段--gateway=
:设置和宿主机相同的网段的网关parent
:设置已经设置为混杂模式的网卡doc_macvlan
:docker网络名称
1 | docker network create -d macvlan --subnet=192.168.200.0/24 --gateway=192.168.200.1 -o parent=lan1 doc_macvlan |
通过Docker运行OpenWRT容器
1 | docker run --restart always --name openwrt -d --network doc_macvlan --privileged sulinggg/openwrt:x86_64 /sbin/init |
设置OpenWRT的网络
- 通过Web控制台修改网卡配置
- 修改静态IP地址和网关
1 | vim /etc/config/network |
- 重启网卡
1 | /etc/init.d/network restart |
设置OpenWRT网络接口作为旁路由
- 访问OpenWRT的Web管理页面
用户名:
root
密码:password
- 设置OpenWRT的IP地址和网关的IP地址,网关的IP地址指向iKuai,勾选
忽略此接口
来禁用OpenWRT的DHCP服务