使用IP命令替代ifconfig配置Linux网络

日期: 2010-01-19 作者:Sander van Vugt翻译:李可嘉 来源:TechTarget中国 英文

为了更好地检修您的Linux网络,需要确保所有网卡上的与IP相关的参数设置正确。如果您使用的是动态主机配置协议(DHCP)配置服务器,大多数情况下,这很可能已经自动设置好。但如果您想配置一台尽量避免系统自身产生错误的服务器,则需要手动来设置一些IP信息和配置。   要判断您服务器上的IP参数设置是否正确,首先应确认下面几点: 您的IP地址是否使用正确? 子网掩码是否设置正确? 您确定使用了正确的工具来监测您的IP配置? 您是否能与默认网关建立联系? 你能否访问域名系统(DNS)服务器?   我们会发现,这些都是应该事先在计算机中设置的。

与此同时,在您的网络系统之外还有一些与IP设置相关的问题,……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

为了更好地检修您的Linux网络,需要确保所有网卡上的与IP相关的参数设置正确。如果您使用的是动态主机配置协议(DHCP)配置服务器,大多数情况下,这很可能已经自动设置好。但如果您想配置一台尽量避免系统自身产生错误的服务器,则需要手动来设置一些IP信息和配置。

  要判断您服务器上的IP参数设置是否正确,首先应确认下面几点:

  • 您的IP地址是否使用正确?
  • 子网掩码是否设置正确?
  • 您确定使用了正确的工具来监测您的IP配置?
  • 您是否能与默认网关建立联系?
  • 你能否访问域名系统(DNS)服务器?

  我们会发现,这些都是应该事先在计算机中设置的。与此同时,在您的网络系统之外还有一些与IP设置相关的问题,本文不会过多涉及,如非必要,通常不建议系统管理员随意更改。

  IP命令与ifconfig工具

  很多人仍习惯使用ifconfig工具来监控和配置他们的Linux系统网络。不过,最近我们发现IP命令工具也是个很好的监控和配置网络的工具。然而,它虽然兼容大部分的系统配置,但并不是全部兼容。

  使用ip工具设置的信息在你使用ifconfig监控系统时是不会显示的。虽然似乎不相关,其实不然,因为用于不同Linux版本上的多数系统工具都依赖于ip工具。这意味着你可能丢失了使用ifconfig进行监控而设置的部分配置。

  让我们来看一个例子。使用下面的命令添加一个随机的IP地址到您eth0网卡接口:

  ip address add dev eth0 10.100.100.1/24

  现在使用ifconfig命令观察一下您的网卡配置。如Listing 1中所示,刚才添加的地址信息似乎看不到了。
 
 Listing 1:  (IP地址信息并不总在ifconfig中显示)
uppernavik:/ # ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:15:C5:81:7B:46  
          inet addr:192.168.1.24  Bcast:0.0.0.0  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:17

  实际上这并不难理解。因二次写入的 IP地址配置,与ifconfig配置出现在不同的位置。想找到您的IP地址详细配置信息,可以使用IP命令工具。

  即使IP是目前唯一用来监测IP地址设置的工具,仍有一些事情需要使用ifconfig来处理。例如,监测网络接口流量,包括丢包统计。比如连接到3G网络时,我喜欢监测我的ppp0接口的数据流量。连接3G网络的费用目前还是比较昂贵的,所以监测流量是非常必要的。在这方面ifconfig命令表现得非常出色。

  一旦您正在使用的IP通过验证,则表示网络连接使用的是正确的地址信息,接下来开始验证外部网络连接。正常情况下,您的计算机需要通过路由器来连接到其它网络,所有的计算机都有一个默认路由配置。最常用的方法是通过路由,同一网络中的IP地址被允许连接到其他网络。一般最后一个有效IP地址用于这一目的,但这并不是强制性执行的。

  有两个命令可以显示您当前的路由信息:route和ip route。在Listing2中,您可以看到这些命令同时输出。

Listing2:(您可以使用route和IP route 来显示路由信息)
uppernavik:/ # ip route show
192.168.150.0/24 dev vmnet1  proto kernel  scope link  src 192.168.150.1 
192.168.1.0/24  dev eth0  proto kernel  scope link  src 192.168.1.24 
172.16.186.0/24 dev vmnet8  proto kernel  scope link  src 172.16.186.1 
10.100.100.0/24 dev eth0  proto kernel  scope link  src 10.100.100.1 
uppernavik:/ # route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.150.0   0.0.0.0         255.255.255.0   U     0      0        0 vmnet1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
172.16.186.0    0.0.0.0         255.255.255.0   U     0      0        0 vmnet8
10.100.100.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

  这些命令信息包括已知的网络列表,以及该路由器用于获取哪里的接口连接到这台计算机名称的IP地址。路由器的IP地址所到达目标网络很可能是本地的IP地址(命令清单第2例)。
 
  正如您可以看到在Listing 2 中的例子,两者之间并无大的区别。信息通过route 命令和IP route 命令返回。但我们发现,丢失了一些重要信息,这台计算机没有默认路由。这意味着,这台计算机无法与外部网络建立连接。

  如果默认路由没有自动添加,您可以使用 IP route add 命令。例如,要添加IP地址10.0.0.254的默认路由,可以使用下面的命令:

  ip route add default via 10.0.0.254

  从这一刻起,就可以和其它网络中的计算机建立连接了。

  最后一步是域名解析。如果您不想只用IP地址的方式与其它计算机连接,而是想使用有意义的名称(如www.example.com)。那么,还需要DNS服务。

  通常,您使用的DNS服务器已为此安装了相应的互联网服务。但是,您必须告诉电脑哪里可以找到您钟意的DNS服务器。要想找出您需要的域名服务器,需要添加一个类似下面的配置文件 / etc / resolv.conf  的行地址:

  nameserver 10.0.0.254

  完成这些步骤后,应该就可以连通了。您可以使用ping命令来验证一下,最好的方法是ping DNS域名,但要确保你侦测服务器配置的DNS能够返回信息,因为这并非适用于所有的服务器。

相关推荐

  • 六大Linux命令诊断网络连通性

    有不少可用的Linux工具可以协助诊断网络连接失败的情况。下面将介绍故障发生时六个最常用的命令。

  • Linux网络连接有问题?Ping工具来帮忙

    如果网络发生了故障,那么所有其他的(服务)都会出现故障。管理员可以使用Ping工具来帮助自己让掉线的Linux服务器重新上线。

  • Linux的ip命令让网络配置变得简单

    现在的数据中心内,Windows管理员偶尔也需要处理Linux系统。Linux的ip命令让监控Linux的网络配置变得简单,但你需要了解一些注意事项。

  • 如何解决Linux网络问题?

    Linux机器上与网络有关的问题很难解决,因为这已经超出Linux所信任的环境之外了。但是作为Linux管理员,你可以通过使用正确的技术帮助网络管理员解决难题。