记一次在Ubuntu环境下分配静态IP的经历

机房环境

有若干台机器,通过交换机连接网络,其中有一台服务器。机房除服务器以外的其他机器都更换过。
服务器系统环境是Ubuntu12.04LTS

出现的问题

其他机器不能通过局域网访问服务器,其他机器可以访问外网,但是服务器不能访问外网。

解决的流程

其实一开始做了很多无用功。确定服务器上localhost的资源可以在本机通过浏览器访问。检查网线是不是接上。ifconfig确认是否有分配IP。然后就陷入了不知道该怎么检查的情况。然后查了一下Ubuntu环境下的网络故障排查方法。
流程如下:

  1. $sudo ip link ls eth0 确认网卡状态
  2. $sudo ifconfig eth0 查看网卡是否已经分配了IP
  3. ping 网关,看能否ping通
  4. $nslookup server 检查DNS服务器地址,如果出现问题需要对/etc/resolv.conf文件进行修改,设置正确的DNS
  5. 最后将配置写入/etc/network/interfaces文件

对于etc/network/interfaces文件的修改,DHCP动态IP的配置:

#The primary network interface
auto eth0 # 设置网卡开机启动
iface eth0 inet dhcp # 设置网卡动态获取IP

静态IP:

auto eth0
iface eth0 inet static # 设为静态获取ip
address 192.168.1.101 # 配置ip地址
netmask 255.255.255.0 # 设置子网掩码
gateway 192.168.1.1 # 设置网关
dns-nameservers 8.8.8.8 114.114.114.114 # 设置DNS服务器,多个地址空格隔开

这次的情况

在ping网关的时候没有ping通,但是其他机器可以访问外网,所以否定了交换机的问题。然后我们检查了外面机器的IP设置,和服务器上的进行比对,发现外面分配的IP和服务器分配的IP不在同一网段。了解这个情况之后就按照其他机器的IP设置情况把服务器上的IP重新分配,进行静态分配IP,然后将设置情况写入/etc/network/interfaces和/etc/resolv.conf。之后尝试使用/etc/init.d/networking restart使配置有效化,但是失败了。抱着试一试的心态重启了一次服务器,再次使用ifconfig查看网卡情况的时候发现eth0分配的IP更改过来了。然后经测试发现服务器可以访问外网了,然后其他机器也能通过局域网访问到服务器上的资源了。

 

感谢 http://www.jianshu.com/p/21ee97c0aa38 这篇博文,在这篇文章的引导下,我解决了这次问题。

你可能感兴趣的:(记一次在Ubuntu环境下分配静态IP的经历)