香橙派 ubuntu实现打通内网,外网双网络,有线和无线双网卡

当香橙派 ubuntu 连了有线,和无线时,默认请求外网时,只走一个网卡,如走了内网网卡,就只能访问内访问,访问不了外网;走了外网网卡就只能访问外网,访问不了内网;

实现双网卡,内网,外网,打通内网都能访问需要进行配置

通过ifconfig 查看网卡情况

香橙派 ubuntu实现打通内网,外网双网络,有线和无线双网卡_第1张图片

eth0 有线网线络,为内网 不可以上网

wlan0 无线网络 为外网 可以上网

查看路由

ip route

香橙派 ubuntu实现打通内网,外网双网络,有线和无线双网卡_第2张图片

 这时访问外网,都走metric=100的网卡,即为内网的,上不了网

ping www.baidu.com 是不通的

如果把metric=100 改为metric=700,那是可以访问外网,但是访问内网又不行了,只能走一个网卡

因此,通过配置下面路由设置后,就可以 内网,外网都通了

在ubuntu中执行以下指令

#外网路由设置
route add -net 0.0.0.0/0 wlan0
route add -net 0.0.0.0/0 gw 192.168.1.1 #外网网关

#内网路由设置
route add -net 192.168.20.0/24 eth0
route add -net 192.168.20.0/24 gw 192.168.20.1 #内网网关

意思是

192.168.20.0开头的请求,走192.168.20.1 内网网关,其它请求走192.168.1.1 网关

这个route配置只存在内存中,如果重启后,配置又失效了,所以做一个开个开机启动自动配置功能

制作开机启动文件

ipRouteMetirc.service

[Unit]
Description="ipRouteMetirc.service"
After=network.target

[Service]
Type=simple
GuessMainPID=true
ExecStartPre=/bin/sleep 5
ExecStart=/etc/systemd/system/ipRouteMetirc.local

[Install]
WantedBy=multi-user.target

ipRouteMetirc.local

#!/bin/bash
route add -net 0.0.0.0/0 wlan0
sleep 2
route add -net 0.0.0.0/0 gw 192.168.1.1
sleep 2
route add -net 192.168.20.0/24 eth0
sleep 2
route add -net 192.168.20.0/24 gw 192.168.20.1

把ipRouteMetirc.service和ipRouteMetirc.local

都放到/etc/systemd/system/目录下面

执行指令

#权限
chmod 777 /etc/systemd/system/ipRouteMetirc.local
#开机服务
systemctl enable ipRouteMetirc.service;
#启动服务
systemctl start ipRouteMetirc.service

#查看启动状态
systemctl status ipRouteMetirc.service

完成

然后在ubuntu上面测试一下

ping 外网地址

ping 内网地址

看下通了没有

问题解决

#查看启动状态
systemctl status ipRouteMetirc.service

如果这里有出现报错

bad interpreter: No such file or directory

则是ipRouteMetirc.local 的文件格式问题导致 ,需把doc格式改成unix

一、是因为Linux无法识别出Windows的DOS格式,此时只需将文件格式转换成unix的即可,方法如下:
1、编辑出错文件
vi filename
2、查看该格式(报错文件格式是DOS)
:set ff
3、修改格式
:set ff=unix
4、保存退出
:wq!
二、ipRouteMetirc.local文件的首行
#!/bin/bash
后面有空格,也会报错

完成

你可能感兴趣的:(网络)