修改linux网卡ip地址
修改Linux网卡IP地址这事儿,修改说难不难,修改说简单也不简单。修改关键看你用哪种方式,修改以及你面对的修改是哪种Linux发行版。我见过太多人栽在“改了不生效”这个坑里,修改其实八成是修改没搞懂临时修改和永久修改的区别。 先讲最直接的修改临时修改法。假设你现在就要把eth0的修改IP改成192.168.1.100,子网掩码255.255.255.0,修改网关192.168.1.1,修改命令就三行: ``` ip addr add 192.168.1.100/24 dev eth0 ip route add default via 192.168.1.1 ip link set eth0 up ``` 看到没,修改用`ip`命令,修改一条条敲下去,修改马上生效。修改但注意,重启网络服务或者重启机器,这些配置全没了。适合你临时调个测试环境,或者手头没有配置文件编辑权限的时候应急。 可你要是想永久生效,那就得碰配置文件了。不同发行版画风差异很大。Debian/Ubuntu系,文件在`/etc/network/interfaces`,你得加这么一段: ``` auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1 ``` 改完执行`systemctl restart networking`或者`ifdown eth0 && ifup eth0`。RHEL/CentOS系就麻烦了,每个网卡一个独立文件,放在`/etc/sysconfig/network-scripts/ifcfg-eth0`,内容长这样: ``` DEVICE=eth0 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 ``` 然后`systemctl restart network`。这里有个细节,CentOS 7以上版本,NetworkManager可能会跟你抢控制权。你要是用nmcli改的,跟手工改配置文件,两个地方不一致,系统会以NetworkManager为准,手工改的反而被覆盖。所以要么彻底停掉NetworkManager,要么老老实实用`nmcli connection modify`来改。 我自己的习惯是,能用`nmcli`就用`nmcli`,尤其新系统。比如: ``` nmcli connection modify eth0 ipv4.addresses 192.168.1.100/24 nmcli connection modify eth0 ipv4.gateway 192.168.1.1 nmcli connection modify eth0 ipv4.method manual nmcli connection up eth0 ``` 这套命令写脚本、批量改服务器,都特别顺手。但老派的运维朋友,还是喜欢直接编辑文件,觉得那样踏实。各有各的理,反正能解决问题就行。 还有个容易踩的坑——DNS。很多人只改了IP,发现域名解析不了,才想起来`/etc/resolv.conf`里还写着一堆旧DNS。改完IP记得顺手检查下这个文件,加上`nameserver 8.8.8.8`之类的。不过有些系统用systemd-resolved,直接改resolv.conf会被覆盖,得用`resolvectl`命令或者改netplan配置,这就更细了。 最后提醒一句,改之前先备份。`cp /etc/network/interfaces /etc/network/interfaces.bak`,或者把ifcfg文件复制一份。远程操作服务器的话,最好开个screen或者tmux会话,万一改错了网络断了,还能从另一个会话救回来。别问我是怎么知道的——我有一次手滑把网关写错了,ssh立刻掉线,差点就得跑机房按电源键。 所以你看,改IP这事儿,临时改图快用ip命令,永久改看发行版选方法,远程操作务必留后手。搞清楚了底层逻辑,什么发行版都不怕。
-
上一篇
-
下一篇
- 随机阅读
- 搜索
-
- 友情链接
-