CentOs7网络配置实战:从动态IP到静态IP的完美切换
1. 为什么需要静态IP动态IP的烦恼我懂刚装完CentOS7的朋友肯定遇到过这个糟心事昨天还能正常连接的服务器今天重启后就死活连不上了。一查IP地址好家伙又自动换了这种动态分配IP的方式DHCP对家用电脑可能无所谓但对需要稳定连接的服务器简直就是灾难。我去年部署测试环境时就吃过这个亏。当时用虚拟机搭了套微服务系统结果每次重启都得重新配置各服务间的调用地址。最崩溃的是有次半夜紧急调试发现所有IP全变了硬是折腾到天亮。后来改用静态IP这些问题瞬间消失。动态IP主要有三大痛点服务中断数据库、API等依赖固定IP的服务会突然失效配置繁琐每次IP变更都要手动修改相关配置排查困难网络问题排查时IP不固定会增加复杂度2. 准备工作找准你的网络身份证2.1 确认网卡名称现代CentOS7默认使用ens33作为网卡名但有些机器可能是eth0。先运行这个命令确认ip addr show | grep state UP -A 2输出类似这样2: ens33: BROADCAST,MULTICAST,UP,LOWER_UP mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:3a:5c:1b brd ff:ff:ff:ff:ff:ff inet 192.168.1.103/24 brd 192.168.1.255 scope global dynamic ens33这里ens33就是你的网卡名称记下来后面要用。2.2 收集关键网络参数配置静态IP需要四个关键信息当前IPifconfig ens33 | grep inet | awk {print $2}子网掩码通常255.255.255.0但建议用ip addr show ens33确认网关地址ip route | grep default | awk {print $3}DNS服务器推荐用114.114.114.114或8.8.8.8建议把这些信息先记在记事本里等会儿配置要用。3. 手把手修改ifcfg-ens33配置文件3.1 备份原始配置重要改配置前先备份是好习惯sudo cp /etc/sysconfig/network-scripts/ifcfg-ens33 ~/ifcfg-ens33.bak3.2 编辑配置文件用vim打开配置文件sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33原始内容大概长这样TYPEEthernet BOOTPROTOdhcp DEFROUTEyes PEERDNSyes PEERROUTESyes IPV4_FAILURE_FATALno NAMEens33 UUIDf0b639bc-32ec-4e51-a5b3-3f5c6e8e8d9f DEVICEens33 ONBOOTyes3.3 关键参数修改指南需要修改/添加以下参数参数名修改值说明BOOTPROTOstatic改为静态IP模式IPADDR你的IP如192.168.1.100NETMASK255.255.255.0子网掩码GATEWAY你的网关如192.168.1.1DNS1114.114.114.114主DNS服务器DNS28.8.8.8备用DNS可选修改后的完整示例TYPEEthernet BOOTPROTOstatic DEFROUTEyes PEERDNSyes PEERROUTESyes IPV4_FAILURE_FATALno NAMEens33 UUIDf0b639bc-32ec-4e51-a5b3-3f5c6e8e8d9f DEVICEens33 ONBOOTyes IPADDR192.168.1.100 NETMASK255.255.255.0 GATEWAY192.168.1.1 DNS1114.114.114.114 DNS28.8.8.84. 验证配置的正确姿势4.1 重启网络服务保存文件后执行sudo systemctl restart network4.2 四步验证法检查IP是否生效ip addr show ens33测试内网连通性ping 你的网关地址测试外网DNSping baidu.com检查路由表route -n如果全部通过恭喜你但万一出现问题4.3 常见问题排查ping不通网关检查GATEWAY是否填错确认物理连接能ping通IP但打不开网页DNS配置有问题试试nslookup baidu.com服务重启失败检查配置文件是否有拼写错误特别是引号要用英文5. 高级技巧让配置更稳健5.1 多网卡配置如果有多个网卡建议为每个网卡创建单独的配置文件如ifcfg-ens34并注意每个文件中的NAME和DEVICE要对应网卡名不要设置重复的IP地址用ip route命令管理多网关情况5.2 绑定MAC地址在虚拟机环境中可以在VMware设置中把MAC地址绑定防止重启后网卡名变化虚拟机设置 → 网络适配器 → 高级记录下MAC地址在ifcfg-ens33中添加HWADDR00:0c:29:3a:5c:1b5.3 禁用NetworkManager有些情况下NetworkManager会干扰传统网络服务可以禁用sudo systemctl stop NetworkManager sudo systemctl disable NetworkManager6. 虚拟机环境特别注意事项在VMware中工作的小伙伴要注意这些细节网络模式选择桥接模式虚拟机像独立主机需要确保静态IP在局域网内唯一NAT模式网关通常是192.168.xx.2格式子网掩码一致性 在VMware的虚拟网络编辑器中查看子网配置确保与CentOS配置一致DHCP范围冲突 如果局域网有DHCP服务器静态IP要设置在DHCP分配范围之外7. 终极保障配置持久化检查有时候配置改了但重启后失效可能是没保存好。建议使用cat命令确认文件修改已保存检查/etc/NetworkManager/NetworkManager.conf中是否启用了传统网络配置查看启动日志journalctl -u network.service -b我在生产环境吃过这个亏后来养成了三重检查的习惯改完立即测试重启服务后测试主机重启后测试静态IP配置看似简单但每个参数都关系到网络命脉。有次我把GATEWAY错写成GETWAY排查了两小时才发现。所以建议大家修改时一个字一个字核对特别是英语拼写。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2513793.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!