树莓派/Debian 固定 IP
一、前言
树莓派默认为自动获取IP地址,所以在更换网络环境后ip地址会发生变化,从而影响到访问Web服务器,在这里解决固定 IP 问题。在这里以 Debian 10.3 虚拟机示例,同样都是在全控制台、无桌面环境下进行。
二、Vmware NAT 网关设置
虚拟机页面 -> 编辑 -> 虚拟网络编辑器 -> 选中VMnet8 NAT模式(使之高亮) -> 更改设置(右下角,需管理员特权)
- 在新跳出的 虚拟网络编辑器 中,
选中VMnet8 NAT模式(使之高亮) -> VMnet信息选 NAT 模式(表格下方) -> NAT 设置
- 在跳出来的 NAT 设置 中,网关 IP 一栏输入想要的网关。点击确定。
- 在 虚拟网络编辑器 中,将 使用本地 DHCP 服务将 IP 地址分给虚拟机 一栏 取消勾选 ,点击确定。
- 记住设置的网关。
三、查看 树莓派/Debian 可用网卡
终端输入 ip add
可查看可用网卡:
yogile@debyogile:~$ ip add
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
......
......
......
......
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
......
......
......
......
- 第 1 个 "lo" 代表:127.0.0.1 ,即 localhost。
- 第 2 个 "ens33" 才表示可用网卡:注意这里的网卡名称,会在后面配置文件时用到 。其名称在各系统甚至在统一系统都可能不同,比如 Ubuntu 大部分是 eth0 、eth1 等。
四、 配置 IP 地址
1. sudo vim /etc/network/interfaces
显示为:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug ens33
iface ens33 inet dhcp
- 这里最后一行
iface ens33 inet dhcp
,表示:自动使用 DHCP( 动态主机配置协议 ) 获取 IP 。
2. 修改 /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
#allow-hotplug ens33
#iface ens33 inet dhcp
auto ens33
iface ens33 inet static # 配置为静态
address 192.168.0.129 # 设置 IP
netmask 255.255.255.0 # 设置掩码
gateway 192.168.0.2 # 设置网关
- 将原来动态获取 IP 的两条语句注释掉;
- 在后面添加最后 5 条所示语句,请自己输入想要设置的 IP ,对应掩码、网关。
:wq
保存退出即可。
3. sudo vim /etc/resolv.conf
显示:
domain localdomain
search localdomain
nameserver xxx.xxx.xxx.xxx # 网关
- 将其
nameserver
后的字符串改成你在/etc/network/interfaces
中的网关,两者保持一致。
五、重启网络服务
sudo service networking restart #重启网络
或者
sudo /etc/init.d/networking restart