Linux 网络与路由设置
Linux网络和路由的一些设置整理:
1、 查看网卡以及 IP地址信息
ip a
:查看IP信息
sudo lshw -c network
:列出网卡设备,包括是否启用、驱动情况、厂商信息
ls /sys/class/net/
:列出硬件网卡的名称
出现问题的排查流程:
- 系统是否正确识别网卡设备:
- 网卡驱动是否正常:
sudo lshw -c network
是否有对应的driver数据 - 网卡是否启动:
ip a
对应网络设备是否为UP
状态,down
表示硬件层面的关闭,未启用
2、命令行状态连接无线网络
不带GUI交互界面的系统需要使用nmcli
命令:
1)、列出可用wifi信息:nmcli device wifi list
2)、连接指定Wifi:sudo nmcli device wifi connect <wifiName> password <passwd> ifname <网卡名称>
3)、查看当前的系统默认路由是否为网卡对应IP,若不是需要修改到当前连接网卡的路由为系统默认路由,切换之后再进行ping 来检查是否正常联网。
4)、设置每次启动自动连接到对应的Wifi:sudo nmcli connection modify <wifiName> connection.autoconnect yes
3、查看调整路由
如果当前的设备有多个网卡(有线网卡和无线网卡),系统会有一个默认的路由,或者多个路由都是默认时,以高优先级的路由作为系统与外界进行数据交互的默认路由。如果需要在对应的IP下与外界进行通信时,需要将该IP对应的路由设为系统默认路由。
1)查看当前路由信息:ip route
返回的数据中,可显示默认路由和其它的可用路由信息。如default via 192.168.0.1 dev enp5s0
则表示默认使用网卡 enp5s0的路由 192.168.0.1与外界通信。
只查看当前的默认路由:ip route show default
,如果有多个默认路由时,metric 的值越小表示该路由的优先级越高。
2)如果要调整系统与外界通信的默认路由,方案如下:
// 删除当前的默认路由: <192.168.0.1>为对应的网关,<enp5s0>为对应网卡名称,需要根据对应设备进行修改
sudo ip route del default via <192.168.0.1> dev <enp5s0>
// 设置新的默认路由
sudo ip route add default via <网关> dev <网卡名称>
// 查看设置是否生效
ip route show default
【通过ip route del/add
的方式只影响路由,只改变系统“走哪个网卡发包”,但网卡本身依然工作,连接状态保持,网络服务基本不中断】
4、禁用/启用网卡
// 禁用网卡
sudo ip link set <网卡名> down
// 启用网卡
sudo ip link set <网卡名> up
该方式会导致网卡禁用,已有的连接被断开,所有与该网卡有关的服务被关闭,绑定的IP失效。如果多个网卡同时工作,禁用网卡所绑定的IP将无法使用,与该网卡有关的工作,如远程登录,文件传输等都会断开。