对于linux高手看似简单的网络配置问题,也许要说出所以然来也并不轻松,因此仍然有太多的初学者徘徊在门外就不奇怪了,
这里,老男孩老师花了一些时间总结了这个文档小结,也还不够完善,欢迎大家补充,交流。谢谢大家!20120827补充:
http://oldboy.blog.51cto.com/2561410/974194 深入浅出route命令小结
目录:
1)配置修改主机名hostname
2)网卡配置文件说明:
3)配置修改ip地址
4)配置修改网关gateway
5) 配置修改DNS
6)查看ip、网关或路由、DNS配置
  a.[查看ip配置方法]
  b.[查看网关和路由方法]
  c.[查看dns配置方法]
7)如果win32和linux服务器无法连接网络,分别描述排查方法?

##########################
####1)配置修改主机名:
##########################
临时方法:
hostname oldboy
退出当前shell重新登陆即可生效。此法只能临时修改生效,重起系统后失效。
提示:很多人使用hostname 主机名来修改,其实这个只是做为暂时的,重启后将恢复到配置前的主机名.

永久方法:
法一:
步骤1:
vi /etc/sysconfig/network
将里面的HOSTNAME=XX改成HOSTNAME=oldboy,然后保存。
提示:这里改完后,执行/etc/init.d/network restart或 source /etc/sysconfig/network等做法都不生效
      如果要单一的修改这个文件可能就需要重起服务器了。
题外话:这里应该是有一个直接生效的方法的系统自带的当前及永久生效方法的,就是就是加载下hostname调用下配置文件的命令执行下就好,
把这个问题留给大家了!

步骤2:
然后通过命令行继续修改:hostname oldboy ,完成后退出重新登陆即生效
提示:这样就能保证临时生效,重起系统系统也生效了。

法二:
即时永久都生效的另外改法:执行setup-网络配置-- Edit DNS configuration-->

DNS configuration                 
 x                               x
 x Hostname      oldboy_______   x ===========>修改这里
 x Primary DNS   202.106.0.20___ x
 x Secondary DNS 211.147.6.3____ x
 x Tertiary DNS  _______________ x
 x Search        _______________ x
提示:在这里改完保存后会及时生效,重起也生效,从这就可以看出来,系统还是有直接临时永久都生效的方法。

特别说明:使用以上的方法都可能导致/etc/hosts中的127.0.0.1对应的主机名未修改,此时,应该手动修改:如:
[root@oldboy ~]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1              oldboy localhost.localdomain localhost ===========>修改这里的oldboy
::1             localhost6.localdomain6 localhost6
10.0.0.190  www.etiantian.org
提示:如果/etc/hosts不改,以后会遇到一些问题,如sendmail启动缓慢,ldap服务解析缓慢,sudo切用户缓慢等等都是主机名和/etc/hosts中的解析不对应导致的。

拓展:有关重起系统设置主机名的脚本:
[root@oldboy ~]# grep -i hostname /etc/rc.d/rc.sysinit
HOSTNAME=`/bin/hostname`
if [ -z "$HOSTNAME" -o "$HOSTNAME" = "(none)" ]; then
    HOSTNAME=localhost
# Set the hostname.
update_boot_stage RChostname
action $"Setting hostname ${HOSTNAME}: " hostname ${HOSTNAME} ===========>这里就是系统重起后执行rc.sysinit后修改机器名的地方。
        # Use the network address to set the hostname of the client.  This
        if [ "$HOSTNAME" = "localhost" -o "$HOSTNAME" = "localhost.localdomain" ]; then
                        hostname ${HOSTNAME}
                mount -t nfs $CLIENTSTATE/$HOSTNAME $STATE_MOUNT -o rw,nolock
        # Reset the hostname.
        action $"Resetting hostname ${HOSTNAME}: " hostname ${HOSTNAME}
[root@oldboy ~]# grep -i hostname /etc/rc.d/init.d/network ===========>这里没有和主机名相关的信息。

################################
####2)网卡配置文件说明:
################################

[root@oldboy ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 ==》这里是eth0网卡设备的默认配置文件
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0 ================》这里是网卡名称第一块网卡为eth0,第二块为eth1...
BOOTPROTO=static============》static为固定IP地址,非动态DHCP获取
BROADCAST=10.0.0.255 =======》这里是广播地址,一般为网络地址的最后一个地址。
HWADDR=00:0C:29:0E:5F:63 ===》这里mac地址,不同的机器不能重复,尤其是在刻隆虚拟机或复制网卡配置时要注意。
IPADDR=10.0.0.161 ==========》这里是IP地址
NETMASK=255.255.255.0=======》子网掩码/24
NETWORK=10.0.0.0   =========》网段设置
ONBOOT=yes =================》开机网卡自启动
GATEWAY=10.0.0.254==========》网关的配置,也可以命令行通过route添加删除。
TYPE=Ethernet===============》类型
提示:第一块网卡为ifcfg-eth0,第二块为ifcfg-eth1...

################################
####3)配置修改ip地址:
################################
配置服务器IP及DNS等网络配置的方法:
1)setup-网络配置,然后修改。
2)直接编辑或手写上面配置文件。
  /etc/sysconfig/network-scripts/ifcfg-eth0 ===============》网卡配置
  /etc/resolv.conf===============》DNS client的配置

提示:以上两个方法一般需要重起或者重新加载/etc/init.d/network restart 或/etc/init.d/network reload才能生效。

##########################
####4)配置修改网关gw:
##########################
法一:修改/etc/sysconfig/network
[root@oldboy network-scripts]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=oldboy
GATEWAY=10.0.0.254 ====》这个就是网关的配置
提示;需要执行/etc/init.d/network reload 即可生效。

法二:修改/etc/sysconfig/network-scripts/ifcfg-eth0
[root@oldboy network-scripts]# cat ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
BOOTPROTO=static
BROADCAST=10.0.0.255
HWADDR=00:0C:29:0E:5F:63
IPADDR=10.0.0.161
NETMASK=255.255.255.0
NETWORK=10.0.0.0
ONBOOT=yes
GATEWAY=10.0.0.254====》这个就是增加网关的配置,默认没有
提示;需要执行/etc/init.d/network restart 或reload 即可生效。

特别注意:
1)/etc/sysconfig/network-scripts/ifcfg-eth0中的网关配置优先于/etc/init.d/network
2)注意配置的大小写,gATEWAY=10.0.0.254这样的小写格式就不对。

法三:通过命令修改默认网关:
[root@oldboy network-scripts]# route del default gw 10.0.0.254 ==》首先删除之
[root@oldboy network-scripts]# route -n ==》查看命令
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
[root@oldboy network-scripts]# route add default gw 10.0.0.254 ==》添加默认网关
[root@oldboy network-scripts]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         10.0.0.254      0.0.0.0         UG    0      0        0 eth0
注意:此修改为临时修改,重新加载或启动网卡后就会失效,解决方法就是尽量在配置文件里配置,
实在有需求就把route add default gw 10.0.0.254放到rc.local自启动文件里或/etc/init.d/network网卡
restart/reload段脚本配置里实现开机自启动或重起网卡也生效,这也有点太复杂了,咱就别这样做了,好不?

##########################
####5)修改主机DNS配置
##########################
法一:setup--网络配置图形操作

法二:修改/etc/resolv.conf ==》这里主机DNS配置文件的路径
[root@oldboy network-scripts]# cat /etc/resolv.conf
nameserver 202.106.0.20
nameserver 8.8.8.8
nameserver 211.147.6.3
提示:每个配置一行这个resolv.conf修改后直接生效,注意,不是nameservers,
另,这个配置文件也是有知识的,同学们可以man resolv.conf查看。

##########################
###6)查看ip、网关或路由、DNS配置:
##########################

[a.查看ip配置方法]
[root@oldboy ~]# ifconfig ==》直接命令名表示显示所有网卡IP
eth0      Link encap:Ethernet  HWaddr 00:0C:29:1D:28:D5 
          inet addr:10.0.0.190  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe1d:28d5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4154 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3107 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:367589 (358.9 KiB)  TX bytes:481210 (469.9 KiB)
          Interrupt:185 Base address:0x1400

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3744 (3.6 KiB)  TX bytes:3744 (3.6 KiB)

[root@oldboy ~]# ifconfig eth0 ==》显示指定网卡IP
eth0      Link encap:Ethernet  HWaddr 00:0C:29:1D:28:D5 
          inet addr:10.0.0.190  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe1d:28d5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4170 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3130 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:368687 (360.0 KiB)  TX bytes:484496 (473.1 KiB)
          Interrupt:185 Base address:0x1400

[b.查看网关和路由方法]
[root@oldboy network-scripts]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         10.0.0.254      0.0.0.0         UG    0      0        0 eth0

[root@oldboy ~]# netstat -rn  ==》此法可以不记,记route -n即可。
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0

查看linux命令帮助的命令man or info or命令 --help:
例:查看route用法
man route 和 info route 或route --help
route功能强大,同学们要熟练掌握,上面仅是一个简单的用法。

[c.查看DNS配置方法]
[root@oldboy ~]# cat /etc/resolv.conf ==》这是常见的检查方法
nameserver 202.106.0.20
[root@oldboy ~]# ping g.cn ==》这是常见的检查方法,返回ip地址了说明通的。
PING g.cn (74.125.71.160) 56(84) bytes of data.
64 bytes from hx-in-f160.1e100.net (74.125.71.160): icmp_seq=1 ttl=49 time=51.7 ms

[root@oldboy ~]# host www.etiantian.org ==》这是常见的检查方法,返回ip地址了说明dns通的。
www.etiantian.org has address 211.100.98.99

--- g.cn ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 51.710/51.710/51.710/0.000 ms
[root@oldboy ~]# dig www.etiantian.org

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5 <<>> www.etiantian.org
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45736
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.etiantian.org.             IN      A

;; ANSWER SECTION:
www.etiantian.org.      600     IN      A       211.100.98.99

;; Query time: 90 msec
;; SERVER: 202.106.0.20#53(202.106.0.20)
;; WHEN: Mon Feb 20 11:50:57 2012
;; MSG SIZE  rcvd: 51

[root@oldboy ~]# nslookup
> www.etiantian.org
Server:         202.106.0.20
Address:        202.106.0.20#53

Non-authoritative answer:
Name:   www.etiantian.org
Address: 211.100.98.99

7)如果win32和linux服务器无法连接网络,分别描述排查方法?
   此题留给大家了。大家可以评论或单独和我交流。
   提示:基本检查思路:
    a.物理链路是否通畅
    b.本机IP,路由,DNS的设置情况是否达标。
    c.测试到网关或路由器的通畅情况。
    d.测试ping公网ip的通常情况(平时要记几个外部IP)
    e.测试DNS的通畅,可以ping etiantian.org看是否出对应IP。
   根据每级的结果来排查,如果是系统管理员,以上问题都检查了后,还可以在网关路由服务器上向上向下测试。
   逐级排查。
  老男孩老师期待大家更多的思路和排查方法。

本文出自 “老男孩linux培训” 博客,请务必保留此出处http://oldboy.blog.51cto.com/2561410/784625

linux下网络配置小节[from 老男孩的linux运维笔记]的更多相关文章

  1. linux下网络配置 命令

    一.IP的配置: 不直接修改文件方式: 设置网卡eth0的IP地址和子网掩码: sudo ifconfig eth0 192.168.2.1 netmask 255.255.255.0 将IP地址改为 ...

  2. Linux下网络配置与修改Centos7为列

    一.基础知识 手动绑定: 命令 一般是临时的修改,重启后失效,如:ifconfig.route.ip addr等. 修改配置文件 修改文件配置,永久有效,但是可能不能立即生效,需要重启服务 (serv ...

  3. linux下网络配置

    配置相关 http://bbs.acehat.com/thread-813-1-1.html

  4. DHCP原理与LINUX下的配置

    DHCP原理与LINUX下的配置 目录 DHCP原理与LINUX下的配置 一.DHCP工作原理 1.DHCP概述 2.DHCP的优势 3.DHCP的分配方式 (1)自动分配 (2)手动分配 (3)动态 ...

  5. 【转载】Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载六)Linux的网络配置

    本篇是Linux小白最佳实践第6篇,目的就是让白菜们了解Linux网络是如何配置的.Linux系统在服务器市场占有很大的份额,尤其在互连网时代,要使用计算机就离不开网络. 想每天能听到小妞的语音播报, ...

  6. [原创]Linux下网络性能测试Netperf工具介绍及安装

    [原创]Linux下网络性能测试Netperf工具介绍及安装 1 官方网站 http://www.netperf.org/netperf/ 2 Netperf介绍 Netperf是一种网络性能的测试工 ...

  7. linux下IPTABLES配置详解 (防火墙命令)

    linux下IPTABLES配置详解 -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 24000 -j ACCEPT ...

  8. (转)yi_meng linux 下 ifcfg-eth0 配置 以及ifconfig、ifup、ifdown区别

    linux 下 ifcfg-eth0 配置 以及ifconfig.ifup.ifdown区别 原文:https://www.cnblogs.com/yi-meng/p/3214471.html这3个命 ...

  9. linux 下 ifcfg-eth0 配置 以及ifconfig、ifup、ifdown区别

    这3个命令的用途都是启动网络接口,不过,ifup与ifdown仅就 /etc/sysconfig/network- scripts内的ifcfg-ethx(x为数字)进行启动或关闭的操作,并不能直接修 ...

随机推荐

  1. win8下everything无法使用的解决方法

    今日我电脑上的Everything打开后都无法使用了,只显示几个分区,重装之后暂时就好了,重启电脑又坏了 解决方法:运行services.msc,启动everything.然后重启everything ...

  2. 给ajax表单提交数据前面加上实体名称

    有时候我们后台做了一个引用类型例如: 下面的实体以C#为例 public class Order{ public string orderId{get;set;} public OrderItem o ...

  3. 壮士断腕!WordPress宣布停止使用React

    WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站,也可以把WordPress当作一个内容管理系统(CMS)来使用. WordPr ...

  4. 具体解说Android的图片下载框架UniversialImageLoader之磁盘缓存(一)

    沉浸在Android的开发世界中有一些年头的猴子们,预计都可以深深的体会到Android中的图片下载.展示.缓存一直是心中抹不去的痛.鄙人亦是如此.Ok,闲话不说.为了督促自己的学习.以下就逐一的挖掘 ...

  5. iOS DES ECB 模式加密

    //iOS DES ECB 模式加密 #import <CommonCrypto/CommonCryptor.h> ,,,,,,,}; +(NSString *) encryptUseDE ...

  6. 获取和设置URL里星号(#)的参数

    示例:http://gzmsg.com/go/news.aspx#page=12 var DF = {}; (function () { var a = function () { var d, e ...

  7. 整理收集49条JQuery代码小结

    1. 如何创建嵌套的过滤器 . 代码如下: //允许你减少集合中的匹配元素的过滤器, //只剩下那些与给定的选择器匹配的部分.在这种情况下, //查询删除了任何没(:not)有(:has) //包含c ...

  8. 微信小程序 - 支持html空格(提示)

    仅限于text标签,decode参数:官方api.

  9. 微软BI 之SSAS 系列 - 基于雪花模型的维度设计

    基于雪花模型的维度以下面的 Product 产品与产品子类别,产品类别为例. DimProduct 表和 DimProductSubcategory 表有外键关系,而 DimProductSubcat ...

  10. Linux中使用sed命令或awk命令修改常规配置文件

    一.方案: Linux中使用sed命令或awk命令修改常规配置文件 二.步骤: 1.假设有一个a.txt,内容如下: #!/bin/bash aa= bbb= ccc= #ddd= 2.如果想要把里面 ...