在Linux上设置网络接口可以通过命令行工具或配置文件完成,以下是详细步骤和常见方法:
ip 命令(推荐)ip 是现代Linux发行版中替代旧版 ifconfig 的工具,功能更强大。
ip addr show
# 或简写
ip a
# 启用接口(如eth0)
sudo ip link set eth0 up
# 禁用接口
sudo ip link set eth0 down
# 临时分配IP(重启失效)
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip route add default via 192.168.1.1
ifconfig(旧版工具,部分系统需安装)# 安装(Debian/Ubuntu)
sudo apt install net-tools
# 查看接口
ifconfig
# 分配IP
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0
不同Linux发行版的配置文件路径不同:
netplan或/etc/network/interfaces)方法1:传统配置
sudo nano /etc/network/interfaces
示例内容:
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
方法2:Netplan(新版Ubuntu)
编辑YAML文件(如/etc/netplan/01-netcfg.yaml):
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]
应用配置:
sudo netplan apply
编辑配置文件:
bash
sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
示例内容:
plaintext
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
ONBOOT=yes
重启网络服务:
bash
sudo systemctl restart NetworkManager
# 或旧版
sudo service network restart
使用systemd-networkd或NetworkManager,例如:
bash
sudo nano /etc/systemd/network/eth0.network
示例内容:
```plaintext
[Match]
Name=eth0
[Network]
Address=192.168.1.100/24
Gateway=192.168.1.1
DNS=8.8.8.8
启用服务:bash
sudo systemctl enable --now systemd-networkd
```
sudo nano /etc/resolv.conf
# 添加
nameserver 8.8.8.8
注意:某些系统会覆盖此文件,建议通过配置文件永久修改。
/etc/network/interfaces或Netplan配置中添加DNS。ifcfg-eth0中添加DNS1=8.8.8.8。# 检查IP
ip addr show eth0
# 测试连通性
ping 8.8.8.8
# 检查路由
ip route show
# 检查DNS
nslookup example.com
接口未找到
ip link show(现代系统可能使用enp0s3等命名)。lspci | grep -i ethernet。配置不生效
bash
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManagerDHCP获取IP
在配置文件中将BOOTPROTO或dhcp4设为yes/true。
通过以上方法,您可以灵活地配置Linux网络接口。根据发行版选择合适的工具和配置文件即可。