写在前面
最新学会了使用KDE图形界面配置双网卡上内外网记录一下
- 先断开内外网。在kde找到网络设置,右键断开即可
- 设置静态ip
- 设置路由,让192.168开头的都走192.168.93.1网关(即内网网关),同时把下边两个勾上,切记地址那里有两个0,在网络掩码那里也要用两个0!!!
- 像第一步一样,再分别连接网络即可
- 设置有线网,把常规配置里面的优先给去掉
以下是最开始不会用kde图形界面时,用的命令行方式
1、查看网卡ip addr
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp3s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 34:97:f6:c0:4f:67 brd ff:ff:ff:ff:ff:ff
inet 192.168.92.70/23 brd 192.168.93.255 scope global dynamic noprefixroute enp3s0f1
valid_lft 26257sec preferred_lft 26257sec
inet6 fe80::9c9b:41d7:9101:5900/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 74:c6:3b:39:ae:27 brd ff:ff:ff:ff:ff:ff
inet 172.20.10.6/28 brd 172.20.10.15 scope global dynamic noprefixroute wlp2s0
valid_lft 78759sec preferred_lft 78759sec
inet6 240e:b5:400a:8182:f00f:c806:b9d0:6040/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::f76a:64c4:5aae:7954/64 scope link noprefixroute
valid_lft forever preferred_lft forever
lo 是本地回环的虚拟网卡,就是本机127.0.0.1或localhost
enp3s0f1 是我的有线网卡
wlp2s0是我的无线网卡
2、设置路由,让所有192.168开头的请求都走有线网卡(内网),其他都走无线
- 查看所有得路由表
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.8.1 0.0.0.0 UG 600 0 0 wlp2s0
192.168.0.0 192.168.92.1 255.255.0.0 UG 0 0 0 enp3s0f1
192.168.0.0 0.0.0.0 255.255.0.0 U 0 0 0 enp3s0f1
192.168.8.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp2s0
- 删除原来得所有路由(因为需要我们手动指定)
## 命令:sudo route del -net {Destination} netmask {Genmask}
sudo route del -net 0.0.0.0 netmask 0.0.0.0
sudo route del -net 192.168.0.0 netmask 255.255.0.0
后边几个省略。。。
- 指定自己得路由
#enp3s0f1是内网网卡(有线)
sudo route add -net 192.168.0.0/16 enp3s0f1
sudo route add -net 192.168.0.0/16 gw 192.168.93.1
###一般情况瞎指定了一个网卡得路由后,另一个自动就是默认得,但是为了保险起见,还是老老实实把另一个网卡也指定一下
# 设置外网:wlp2s0是我的外网网卡(无线)
sudo route add -net 0.0.0.0/0 wlp2s0
sudo route add -net 0.0.0.0/0 gw 192.168.8.1
注意:
- 开头一定要精确到192.168.0.0,同时后边对应/16,至于为什么?那是因为我之前设置成 192.0.0.0/8,结果无法访问github,ping了一下,发现github的地址刚好是192开头,所以走了内网网关,那肯定就无法访问了。
- 后面的网关一定要看清,我就遇到一个问题是我的内网IP是192.168.92.133,然而我的网关不是192.168.92.1(因为我用的公司内网,手动改成了192.168.93.1)这样设置也会有问题,所以一定要指定成实际的网关。
- 设置好了以后我们再看看
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.8.1 0.0.0.0 UG 600 0 0 wlp2s0
192.168.0.0 192.168.92.1 255.255.0.0 UG 0 0 0 enp3s0f1
192.168.0.0 0.0.0.0 255.255.0.0 U 0 0 0 enp3s0f1
192.168.8.0 0.0.0.0 255.255.255.0 U 600 0 0 wlp2s0
# chenkun @ chenkun-pc in ~ [16:08:35]
$ ip route show
default via 192.168.8.1 dev wlp2s0 proto dhcp metric 600
192.168.0.0/16 via 192.168.92.1 dev enp3s0f1
192.168.0.0/16 dev enp3s0f1 scope link
192.168.8.0/24 dev wlp2s0 proto kernel scope link src 192.168.8.121 metric 600
上边ip route show 显示默认得网卡是192.168.8.1 dev wlp2s0,代表如果没有找到其他更精确得路由设置,则默认所有的请求都走这里,即默认都走外网。
3、route命令找不到的话需要手动安装
sudo pacman -S net-tools dnsutils inetutils iproute2