在外边租房子,房东提供无线网络,但玩树莓派时 IP地址 总是变,没法写进 hosts 里,很不爽
在命令行运行`ip addr`查看网卡信息,可以看到如下信息
```text
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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether dc:a6:32:b2:f8:8b brd ff:ff:ff:ff:ff:ff
inet 192.168.0.10/24 brd 192.168.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::dea6:32ff:feb2:f88b/64 scope link
valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether dc:a6:32:b2:f8:8c brd ff:ff:ff:ff:ff:ff
```
可以看到 1、2、3 这三个网卡,第二个是以太网,第三个是无线网,这里我想要把以太网的 IP 设置为静态,可以看到以太网的网卡名是 `eth0`
首先 `su`,以 root 用户执行
```shell
touch /etc/systemd/network/10-static-eth0.network
# eth0 是网卡名,如果你要改其他网卡,就把 eth0 换成你要换的网卡名
```
在该文件中写入如下内容:
```text
[Match]
Name=eth0
[Network]
Address=192.168.0.64/24
Gateway=192.168.0.1
DNS=119.29.29.29 182.254.116.116
```
> `Name` 就是网卡名
>
> `Address` 是静态 IP地址,最后斜杠后的数字 `24` 是子网掩码的长度,`24` 就相当于 `255.255.255.0`
>
> `Gateway` 是网关地址,就是你路由器的地址
>
> `DNS` 就不用说了,多个 DNS地址 用空格分开
写入文件后重启树莓派,如果没有意外 IP地址 就改变了