配置ubuntu网络
Ubuntu上默认使用的是netplan管理网络(至少18.04~22.04都是,其他更早的版本我没用过)
在18.04上查看 /etc/network/interfaces文件可以看到
1 | # ifupdown has been replaced by netplan(5) on this system. See |
在22.04上索性这个文件都没了。
在没有网络的情况下无法 sudo apt install ifupdown,只能去配置netplan,/etc/netplan
是一个目录,下面会有一个默认的 *.yaml 文件。
我遇到过 50-cloud-init.yaml
以及 00-installer-config.yaml
,总就是通过它配置网络。
可以先用ifconfig -a
查看一下当前的网络状态和网卡名称。如果ifconfig
命令也没有,可以用ip ad
假设我们有两块网卡,一个叫enp2s0
是有线网卡,一个叫wlp3s0
是无线网卡。
分别看一下配置方案:
有线网卡固定IP配置
先启用网卡
1 | ifconfig enp2s0 up |
编辑/etc/netplan/*.yaml
配置
1 | network: |
应用生效
1 | netplan apply |
有线网卡动态IP配置
先启用网卡
1 | ifconfig enp2s0 up |
编辑/etc/netplan/*.yaml
配置
1 | network: |
应用生效
1 | netplan apply |
无线网卡固定IP配置
配置无线网卡要先配好有限然后安装两个东西
1 | apt update && apt install -y wpasupplicant network-manager |
然后关闭有线网卡,开启无线网卡
1 | ifconfig enp2s0 down |
编辑/etc/netplan/*.yaml
配置
1 | network: |
应用生效
1 | sudo netplan generate |
无线网卡动态IP配置
类似无线网卡固定IP的步骤,配置改为
1 | network: |
常用网络命令
临时指定IP(重启失效)
1 | ifconfig <网口号> <IP地址> netmask <子网掩码> |
Example:
1 | ifconfig eth0 192.168.1.141 netmask 255.255.255.0 |
如果没有ifconfig命令,可以用ip命令
1 | ip addr add 192.168.1.141/24 dev eth0 |
配置默认网关
1 | route add default gw 192.168.1.1 |
查看路由表
1 | netstat -rn |
或
1 | route -n |
或
1 | ip route |
Destination 0.0.0.0的 GateWay就是默认网关
添加一条路由
1 | ip route add 192.168.10.0/24 via 192.168.1.99 |
手动动态获取IP地址
比如我们把网络接口插上网线UP起来,然后什么都不配置,直接dhclient,如果路由器上开启了DHCP,那么应该会分到一个IP,有时候明明配置好了,但是重启不会自动获取IP地址,手动执行一次dhclient就可以获取到,不清楚原因
1 | dhclient |
查看开放端口和对应的进程ID
1 | netstat -anp |
在发现一个端口被占用,想找出对应的进程
1 | netstat -anp|grep <port> |
测试一个端口是否开放
1 | telnet <ip> <port> |
或
1 | nc -v <ip> <port> |
BTW:如果一些网络命令不能执行,安装这几个包试试
1 | apt update && apt install -y iproute2 iputils-ping net-tools |