CentOS学习笔记--配置网络

配置网络(以太网)

安装系统后第一个需要做的就是配置网络。(以下取自鸟哥的 Linux 私房菜 -- 服务器架设篇目录   第四章、连上 Internet

修改的参数 配置文件与重要启动脚本 观察结果的指令
IP相关参数

/etc/sysconfig/network-scripts/ifcfg-eth0
/etc/init.d/network restart

ifconfig (IP/Netmask)
route -n (gateway)

DNS

/etc/resolv.conf

dig www.google.com

主机名

/etc/sysconfig/network
/etc/hosts

hostname (主机名)
ping $(hostname)
reboot

以下实验都是在CentOS 6的环境中

1、IP/Netmask/Gateway 的设定、启动与观察

设定网络参数得要修改 /etc/sysconfig/network-scripts/ifcfg-eth0,请记得,这个 ifcfg-eth0 与档案内的 DEVICE 名称设定需相同,并且,在这个档案内的所有设定,基本上就是 bash 的变量设定规则啦 (注意大小写)!

[root@www ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"               <==网络卡代号,必须要 ifcfg-eth0 相对应
HWADDR="08:00:27:71:85:BD"  <==就是网络卡地址,若只有一张网卡,可省略此项目
NM_CONTROLLED="no"          <==不要受到其他软件的网络管理!
ONBOOT="yes"                <==是否默认启动此接口的意思
BOOTPROTO=none              <==取得IP的方式,其实关键词只有dhcp,手动可输入none
IPADDR=192.168.1.100        <==就是 IP 啊
NETMASK=255.255.255.0       <==就是子网掩码
GATEWAY=192.168.1.254       <==就是预设路由
# 重点是上面这几个设定项目,底下的则可以省略的啰!
NETWORK=192.168.1.0         <==就是该网段的第一个 IP,可省略
BROADCAST=192.168.1.255     <==就是广播地址啰,可省略
MTU=1500                    <==就是最大传输单元的设定值,若不更改则可省略

上面的资料很好理解吧!请注意每个变量(左边的英文)都应该要大写! 否则我们的 script 会误判!事实上鸟哥的设定值只有最上面的 8 个而已,其他的 NETWORK, BROADCAST, MTU 鸟哥都没有设定喔! 至于参数的说明方面,IPADDR, NETMASK, NETWORK, BROADCAST 鸟哥在这里就不再多说,要谈的是几个重要的设定值:

  • DEVICE:这个设定值后面接的装置代号需要与文件名 (ifcfg-eth0) 那个装置代号相同才行!否则可能会造成一些装置名称找不到的困扰。
  • BOOTPROTO:启动该网络接口时,使用何种协议? 如果是手动给予 IP 的环境,请输入 static 或 none ,如果是自动取得 IP 的时候, 请输入 dhcp (不要写错字,因为这是最重要的关键词!)
  • GATEWAY:代表的是『整个主机系统的 default gateway』, 所以,设定这个项目时,请特别留意!不要有重复设定的情况发生喔!也就是当你有 ifcfg-eth0, ifcfg-eth1.... 等多个档案,只要在其中一个档案设定 GATEWAY 即可
  • GATEWAYDEV:如果你不是使用固定的 IP 作为 Gateway , 而是使用网络装置作为 Gateway (通常 Router 最常有这样的设定),那也可以使用 GATEWAYDEV 来设定通讯闸装置呢!不过这个设定项目很少使用就是了!
  • HWADDR:这个东西就是网络卡的卡号了!在仅有一张网卡的情况下,这个设定值没有啥功能, 可以忽略他。但如果你的主机上面有两张一模一样的网卡,使用的模块是相同的。 此时,你的 Linux 很可能会将 eth0, eth1 搞混,而造成你网络设定的困扰。如何解决呢? 由于 MAC 是直接写在网卡上的,因此指定 HWADDR 到这个配置文件中,就可以解决网卡对应代号的问题了!很方便吧!

设定完毕之后,现在让我们来重新启动网络接口吧!这样才能更新整个网络参数嘛!
[root@www ~]# /etc/init.d/network restart
Shutting down interface eth0:         [ OK ]  <== 先关闭界面
Shutting down loopback interface:     [ OK ]
Bringing up loopback interface:       [ OK ]  <== 再开启界面
Bringing up interface eth0:           [ OK ]
# 针对这部主机的所有网络接口 (包含 lo) 与通讯闸进行重新启动,所以网络会停顿再开
#实际上也可以用service来重启: 
[root@www ~] #  service network restart

这样就处理完毕啰,那接下来当然就是观察看看啰!

# 检查一:当然是要先察看 IP 参数对否,重点是 IP 与 Netmask 啦!
[root@www ~]# ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 08:00:27:71:85:BD
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe71:85bd/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:655 errors:0 dropped:0 overruns:0 frame:0
          TX packets:468 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:61350 (59.9 KiB)  TX bytes:68722 (67.1 KiB)

# 有出现上头那个 IP 的数据才是正确的启动;特别注意 inet addr 与 Mask 项目 # 这里如果没有成功,得回去看看配置文件有没有错误,然后再重新 network restart ! # 检查二:检查一下你的路由设定是否正确

[root@www ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.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     1002   0        0 eth0
0.0.0.0         192.168.1.254   0.0.0.0         UG    0      0        0 eth0# 重点就是上面的特殊字体!前面的 0.0.0.0 代表预设路由的设定值!
# 检查三:测试看看与路由器之间是否能够联机成功呢!
[root@www ~]# ping -c 3 192.168.1.254
PING 192.168.1.254 (192.168.1.254) 56(84) bytes of data.
64 bytes from 192.168.1.254: icmp_seq=1 ttl=64 time=2.08 ms
64 bytes from 192.168.1.254: icmp_seq=2 ttl=64 time=0.309 ms
64 bytes from 192.168.1.254: icmp_seq=3 ttl=64 time=0.216 ms

--- 192.168.1.254 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 0.216/0.871/2.088/0.861 ms

# 注意啊!有出现 ttl 才是正确的响应!如果出现『 Destination Host Unreachable 』 # 表示没有成功的联机到你的 GATEWAY 那表示出问题啦!赶紧检查有无设定错误。

要注意,第三个检查如果失败,可能要看你的路由器是否已经关闭?或者是你的 switch/hub 是否有问题,或者是你的网络线是否错误,还是说你的或路由器的防火墙设定错误了?要记得去解决喔! 这三个检查做完而且都成功之后,那么你的 TCP/IP 参数设定已经完毕了!这表示你可以使用 IP 上网啦! 只是还不能够使用主机名上网就是了。接下来就是要设定 DNS 啰!

 

2、DNS 设定与观察

Linux有3个地方设置dns。

  1. /etc/hosts;
  2. 网卡配置文件DNS服务地址;
  3. /etc/resolv.conf

/etc/sysconfig/network-scripts/ifcfg-eth0 是eth0网卡的配置文件,可以直接在这里设置DNS。

[root@www ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"             
…………………… 省略
dns1=114.114.114.114  #这个应改为你自己的DNS,下同
dns2=1.1.1.1

/etc/resolv.conf 系统默认DNS服务器地址设置

[root@www ~]# vim /etc/resolv.conf
nameserver 114.114.114.114  #这个应改为你自己的DNS,下同
nameserver 1.1.1.1

我们以电信与google的公共DNS服务器之 IP 作为设定的方式!测试看看:

# 检查四:看看 DNS 是否顺利运作了呢?很重要的测试喔!
host,nslookup,dig是测试DNS的命令,下面有dig来测试:
[root@localhost ~]# dig baidu.com

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.3 <<>> baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15420
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;baidu.com.                     IN      A

;; ANSWER SECTION:
baidu.com.              414     IN      A       180.149.132.47
baidu.com.              414     IN      A       220.181.57.217
baidu.com.              414     IN      A       123.125.114.144
baidu.com.              414     IN      A       111.13.101.208

;; Query time: 0 msec
;; SERVER: 10.20.102.2#53(10.20.102.2)
;; WHEN: Mon Dec 19 15:30:22 2016
;; MSG SIZE  rcvd: 91

host,nslookup,dig依赖bind包,所以先看一下系统有没有bind包

命令如下:rpm -qa |grep bind

如果没有或者版本太低请升级安装

命令是:yum install bind-utils

安装成功以后这三个命令就可以正常使用了

3、主机名的修改、启动与观察

修改主机名就得要改 /etc/sysconfig/network 以及 /etc/hosts 这两个档案,这两个档案的内容又简单的要命喔!

[root@www ~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=www.centos.vbird

[root@www ~]# vim /etc/hosts
192.168.1.100    www.centos.vbird
# 特别注意,这个档案的原本内容不要删除!只要新增额外的数据即可!

修改完毕之后要顺利启动的话,得要重新启动才可以。为什么需要重新启动呢?因为系统已经有非常多的服务启动了, 这些服务如果需要主机名,都是到这个档案去读取的。而我们知道配置文件更新过后,服务都得要重新启动才行。 因此,已经启动而且有读到这个档案的服务,就得要重新启动啊!真麻烦~因此,最简单的方法,就是重新启动。 但重开机之前还需要进行一项工作,否则,你的系统开机会花掉很多时间喔!

[root@www ~]# hostname
localhost.localdomain
# 还是默认值,尚未更新成功!我们还得要进行底下的动作! # 检查五:看看你的主机名有没有对应的 IP 呢?没有的话,开机流程会很慢!
[root@www ~]# ping -c 2 www.centos.vbird
PING www.centos.vbird (192.168.1.100) 56(84) bytes of data.
64 bytes from www.centos.vbird (192.168.1.100): icmp_seq=1 ttl=64 time=0.015 ms
64 bytes from www.centos.vbird (192.168.1.100): icmp_seq=2 ttl=64 time=0.028 ms

--- www.centos.vbird ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.015/0.021/0.028/0.008 ms
# 因为我们有设定 /etc/hosts 规定 www.centos.vbird 的 IP , # 所以才找的到主机主机名对应的正确 IP!这时才能够 reboot 喔!重要重要!

上面的信息中,检查的内容总共有五个步骤,这五个步骤每一步都要成功后才能够继续往下处理喔! 至于最重要的一点,当你修改过 /etc/sysconfig/network 里面的 HOSTNAME 后, 务必要重新启动 (reboot)。但是重新启动之前,请务必『 ping 主机名』且得到 time 的响应才行!

配置了网络的linux机器就可以使用ssh来管理了,可以回到你的办公室泡上一杯茶,打开你的计算机来管理了。

posted @ 2014-12-04 13:21  月上中天  阅读(558)  评论(0编辑  收藏  举报