1、docker拉取OpenWRT镜像
docker pull unifreq/openwrt-aarch64
等待下载完成,也可以拉取其他大佬的镜像
2、开启网卡混杂模式
ip link set eth0 promisc on
重启 N1 就会失效。
网卡永久设置混杂模式
修改 /etc/rc.local
加入如下代码(vi打开文件,i键进入编辑模式,输入后按esc退出编辑模式,按 :wq!保存退出):
vi /etc/rc.local
ip link set eth0 promisc on
改完后重启网络 /etc/init.d/network restart
或者重启系统检查网卡是否混杂模式。
查看是否设置成功,输入ifconfig
命令,如·下图红色框·所示:网卡名eth0按自己实际的来看
创建 Docker 虚拟网络
docker network create -d macvlan --subnet=192.168.0.0/24 --gateway=192.168.0.1 -o parent=eth0 macnet
ps:eth0 为自己实际的网卡名,一般是eth0,看自己ssh连接的ip网卡名就行
注意:macnet
为名称,macvlan
为模式,另外请将 192.168.0
修改为你自己主路由网段。
运行OpenWRT
容器
docker run --restart always -d --name=OpenWRT --network macnet --privileged unifreq/openwrt-aarch64 /sbin/init
注意:OpenWrt
包名与前述导入/pull
下来的保持一致,后面 /sbin/init
可以省略。macnet
虚拟网络名字与前面创建的一致。
配置 OpenWRT
容器网络
docker exec -it OpenWRT bash
OpenWRT
是前面 --name
指定的容器名字,没有指定的话以通过运行 docker container ls
显示出的NAMES
字段获得。
这样我们就进到OpenWRT
的系统里了。
vi /etc/config/network
将 option ipaddr 192.168.X.1
替换旁路由 OpenWRT IP
地址(如 192.168.0.254
),注意需与主路由同网段。如果确定只做旁路有还可以顺带把 DHCP
和桥接关掉,然后 ESC,:wq!
保存退出。
参考配置:
config interface 'lan'
option ifname 'eth0'
option proto 'static'
option netmask '255.255.255.0'
option gateway '192.168.0.1'
option ip6assign '60'
option dns ' 8.8.8.8 114.114.114.114'
option ipaddr '192.168.0.254'
option broadcast '192.168.0.255'
reboot
或者
/etc/init.d/network restart
重启 OpenWRT/
网络,就可以 192.168.0.25
4 登录Docker
里的 OpenWRT
的路由了。用户名 密码(root password
)
禁用dhcp
功能
配置科学上网
如图所示,就不细说了,懂都懂。
配置全局设置(所有设备都能直接代理)
此方案优点是可以让一些不能配置网关的设备通过N1代理, 例如Xbox等, 就只能用这种方法.缺点是需要更改主路由设定, 如果多人共用主路由不建议这样设置除非所有人都有代理需求.
方法如下:
打开主路由的设置界面, 进入DHCP设置, 将网关设置为N1的IP也就是192.168.0.254
, 保存后再去电脑上查询IP设定时会发现网关已经是N1的IP了. 若未发生变化建议断开网络后重新连接以刷新网关设定
这个地方提醒一下各位小白不要设置成WAN接口的网关了,否则可能上不了网了, 比如我这个路由器就会给我提示设置错误.
其他品牌的路由器设置应该大同小异.
非全局设置(手动配置过的设备能代理)
非全局方案好处是可以想让哪台设备上网就让哪台设备上网, 并且不会打扰到别人的网络体验.
缺点是某些无法自定义网关的设备例如Xbox无法通过N1代理.
电脑
首先连接到主路由的网络, 打开Control PanelNetwork and InternetNetwork Connections
, 如图进行操作
记住下面这张图里的IPv4 Address
这里IP Address
里面填刚刚记下的IPv4 Address
最后确定即可生效
和电脑上类似,先记下原来的IP地址, 然后开启静态IP, 将网关改为192.168.0.254
选择静态,然后和电脑配置一样。设置网关为192.168.0.254