无论是服务器运维、开发人员还是系统管理员,经常需要面对各种网络配置任务
而在这些任务中,Linux系统以其强大的灵活性和高效性,成为众多场景下的首选操作系统
掌握在Linux命令行下配置IP地址的技能,不仅能提高你的工作效率,还能让你在网络管理和故障排除中游刃有余
为什么选择命令行配置IP? 1.高效性:命令行操作通常比图形界面更快捷,尤其在需要批量配置多台设备时,命令行工具能显著减少操作时间
2.可重复性:通过脚本化配置,可以确保每次操作的一致性,避免人为失误
3.灵活性:命令行提供了更多的选项和参数,能应对复杂的网络配置需求
4.远程管理:通过SSH等远程登录工具,可以在任何地方管理你的服务器,无需物理接触
5.兼容性:命令行工具在不同Linux发行版之间兼容性较好,迁移成本低
基础知识准备 在动手之前,了解一些基础知识是必要的: - 网络接口:常见的网络接口包括以太网(eth0, eth1等)、无线(wlan0等)和虚拟接口(如VPN)
- IP地址类型:IPv4和IPv6,IPv4地址由四个8位二进制数组成,用点分隔;IPv6地址由八个16位二进制数组成,用冒号分隔
子网掩码:用于区分网络地址和主机地址
- 默认网关:数据包在本地网络外传输时,通过默认网关进行路由
DNS服务器:用于域名解析
配置工具简介 Linux中配置IP地址的工具主要有以下几种: - ifconfig:传统工具,用于配置和显示网络接口
但在现代Linux发行版中,`ifconfig`正逐渐被淘汰
- ip:iproute2套件的一部分,功能更强大,是`ifconfig`的替代工具
- nmcli:NetworkManager命令行工具,适用于需要动态网络管理的场景
- systemctl:用于管理服务,包括网络服务
使用`ip`命令配置IP地址 `ip`命令功能强大,涵盖了网络配置的各个方面
以下是一些常用操作: 1.查看网络接口信息: bash ip addr show 这个命令会显示所有网络接口及其当前配置,包括IP地址、子网掩码、广播地址等
2.添加IP地址: bash sudo ip addr add 192.168.1.100/24 dev eth0 这条命令会给`eth0`接口添加一个IPv4地址`192.168.1.100`,子网掩码为`255.255.255.0`(简写为`/24`)
3.删除IP地址: bash sudo ip addr del 192.168.1.100/24 dev eth0 与添加IP地址类似,这条命令用于删除指定IP
4.设置默认网关: bash sudo ip route add default via 192.168.1.1 将默认网关设置为`192.168.1.1`
5.配置DNS服务器: `ip`命令本身不直接管理DNS服务器配置,但可以通过编辑`/etc/resolv.conf`文件来实现: bash sudo nano /etc/resolv.conf 添加或修改如下内容: plaintext nameserver 8.8.8.8 nameserver 8.8.4.4 使用`nmcli`命令配置IP地址 NetworkManager是一个动态网络管理工具,适用于需要动态网络连接的场景
`nmcli`是NetworkManager的命令行接口
1.查看连接: bash nmcli connection show 列出所有网络连接
2.修改连接: bash sudo nmcli connection modify Wired connection 1 ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 8.8.4.4 ipv4.method manual 这条命令将名为“Wired connection 1”的连接配置为静态IP,并设置IP地址、网关和DNS服务器
3.重启连接: bash sudo nmcli connection down Wired connection 1 && sudo nmcli connection up Wired connection 1 修改配置后,需要重启连接以应用更改
持久化配置 无论是使用`ip`命令还是`nmcli`命令,配置更改在重启后通常不会保留
为了确保配置持久化,需要根据你的Linux发行版进行相应配置: - Debian/Ubuntu:编辑`/etc/network/interfaces`文件
- Red Hat/CentOS:编辑相应的网络接口配置文件,如`/etc/sysconfig/network-scripts/ifcfg-eth0`
- 使用N