系统网卡设置
/etc/network/interfaces
内容如下:1
2
3
4
5auto lo
iface lo inet loopback
auto enp3s0
iface enp3s0 inet dhcp
自动加载网卡lo
和enp3s0
,将lo
设置为回环,enp3s0
设置为DHCP
自动获取IP
ifconfig enp3s0 down
可以使对应网卡无效,up
可以使之有效。另外:1
2ifup 网卡名称 //启动某网卡,可能需要用sudo
ifdown 网卡名称 //禁用某网卡
以服务的形式开关网卡(需要root)
- service network start
- service network stop
- service network restart
rfkill list
列出网卡是否被屏蔽的情况sudo rfkill unblock all
解除所有无线网卡的屏蔽
查看局域网的所有主机的IP
使用nmap
对局域网扫描,查看arp缓存表就可以知道局域内主机ip和mac。使用nmap -sP 192.168.1.0/24
进行ping扫描,打印出对扫描做出响应的主机,就能获知此网段的所有IP
nmap -sS -O 192.168.0.127
探测某主机的端口和操作系统情况
ifconfig
用ifconfig
可以看到每个网卡对应的IP地址
- 第一行:连接类型:Ethernet(封装类型-以太网) HWaddr(硬件mac地址)。
- 第二行:网卡的IP地址、广播、掩码。
- 第三行:IPV6不用管
- 第四行:UP(代表网卡开启状态)BROADCAST(广播) RUNNING(代表网卡的网线被接上)MULTICAST(支持组播)MTU:1500(最大传输单元):1500字节。
- 第四行:接收的包
- 第五行:发送的包
查看网关
route -n
查看网卡
台式机一般有两个网卡,用两根网线连接装置。
lspci | grep Eth
查看物理网卡查看两个网卡的连接情况:
lspci | grep -i net
sudo lshw -C network
查看网卡详细情况
命令行连接 wifi
查看可以使用的无线网1
nmcli dev wifi
出现这样的结果:
或者nmcli device wifi list
连接无线网1
nmcli dev wifi connect 网络名称 password 密码
iwconfig
用于系统配置无线网络设备,或显示无线网络设备信息。 仅和无线网络相关,用来设置参数等。
Ubuntu安装无线网卡驱动
用lspci | grep net
找到对应网卡名称,再用lsusb
找出对应的ID号,比如1
Bus 001 Device 009: ID 148f:3070 Ralink Technology, Corp. RT2870/RT3070 Wireless Adapter
就是148f:3070,然后据此上网找驱动。
依据安装Linux Kernel 4.15先升级内核版本到4.15,再按下面步骤进行
- Download driver directory from this repo:
https://github.com/endlessm/linux/tree/master/drivers/net/wireless/rtl8821ce
You can do it by this link: https://minhaskamal.github.io/DownGit/#/home?url=https://github.com/endlessm/linux/tree/master/drivers/net/wireless/rtl8821ce
- Unpack zip archive.
- Change the Makefile. Line
export TopDIR ?= ...
toexport TopDIR ?= PATH TO EXTRACTED DIRECTORY
. 再根据make
的报错信息将报错的那行去掉 - make
- sudo make install
- sudo modprobe -a 8821ce
network-scripts
路径 /etc/sysconfig/network-scripts
。文件ifcfg-eth0
和ifcfg-eth1
是两个网卡的信息,如果缺少,说明网卡配置不正确。其中的HWADDR
是MAC地址;ONBOOT
如果是yes,代表启动时激活;BOOTPROTO是协议类型,一般是NONE;
在修改文件ifcfg-eth0
后还需要重新导入文件才能生效: /etc/init.d/network reload
,其他命令还有start, stop, restart.
问题
Ubuntu无法无线上网
电脑装了Ubuntu16.04后,系统配置里无线上网的开关都打不开,自己加一个无线网卡也不行。
这个问题困扰了我几天,在网上查了很久,但网上提供的方法都没用,最后严重怀疑是网卡和Ubuntu版本不匹配的问题。最后,我用U盘做了一个Ubuntu系统,与工控机的一样,用try without install Ubuntu
的方式启动,发现工控机的Ubuntu版本比我自己的电脑内核版本低。这时插上外置无线网卡,等了一会找到信号了。因此,我重装为旧内核版本的Ubuntu,结果发现插上外置无线网卡后,能发现几个无线信号,但显示是在范围之外
,偶尔能连接上一次。
最后决定拆掉笔记本的内置无线网卡。果然,拆掉后插上外置无线立刻就正常了。
也可以不拆网卡,ifconfig enp3s0 down
可以使对应网卡无效,up
可以使之有效。将自带网卡down
掉,然后用外接网卡,最好将auto
行删掉
修复双网卡同IP
两个网卡,但网络编辑里只有一个自动
,两个网卡会用同一个IP,导致双机通信不正常。
解决:删除后重新添加两个有线网络。分别命名为Eth0、Eth1, 然后用ifconfig
查看两个网络的MAC地址,分别填写,然后再编辑IP等参数,恢复正常。
SSH
执行ssh root@192.168.20.232
报错 Unable to negotiate with 192.168.20.232 port 22: no matching host key type found. Their offer: ssh-rsa
解决方法: ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa root@192.168.20.232 -p 22
配置8812无线网卡
以前保存了编译成功的8812au.ko
,但是那是在ubuntu20.04上编译的,放到ubuntu18.04上不能用,估计是内核版本冲突,执行modprobe
时报错,最后从头编译安装。1
2
3
4
5
6
7git clone https://github.com/gnab/rtl8812au.git
cd rtl8812au
make
sudo make install
sudo modprobe 8812au
sudo lsmod | egrep 8812au
顺利的话,不需要重插无线网卡,应该直接可以连接wifi了。