首页 > 代码库 > CentOS学习笔记--配置网络
CentOS学习笔记--配置网络
配置网络(以太网)
安装系统后第一个需要做的就是配置网络。(以下取自鸟哥的 Linux 私房菜 -- 服务器架设篇目录 第四章、连上 Internet)
修改的参数 | 配置文件与重要启动脚本 | 观察结果的指令 |
IP相关参数 | /etc/sysconfig/network-scripts/ifcfg-eth0 | ifconfig (IP/Netmask) |
DNS | /etc/resolv.conf | dig www.google.com |
主机名 | /etc/sysconfig/network | hostname (主机名) |
1、IP/Netmask/Gateway 的设定、启动与观察
设定网络参数得要修改 /etc/sysconfig/network-scripts/ifcfg-eth0,请记得,这个 ifcfg-eth0 与档案内的 DEVICE 名称设定需相同,并且,在这个档案内的所有设定,基本上就是 bash 的变量设定规则啦 (注意大小写)!
[root@www ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE="eth0" <==网络卡代号,必须要 ifcfg-eth0 相对应HWADDR="08:00:27:71:85:BD" <==就是网络卡地址,若只有一张网卡,可省略此项目NM_CONTROLLED="no" <==不要受到其他软件的网络管理!ONBOOT="yes" <==是否默认启动此接口的意思BOOTPROTO=none <==取得IP的方式,其实关键词只有dhcp,手动可输入noneIPADDR=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 restartShutting 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 eth0eth0 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 -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth00.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.254PING 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 ms64 bytes from 192.168.1.254: icmp_seq=2 ttl=64 time=0.309 ms64 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 2004msrtt 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 服务器的 IP 设定与观察
这个 /etc/resolv.conf 很重要啦!他会影响到你是否可以查询到主机名与 IP 的对应喔!通常如下的设定就 OK 了!
[root@www ~]# vim /etc/resolv.confnameserver 168.95.1.1 #这个应改为你自己的DNS,下同nameserver 139.175.10.20
我们以中华电信与 SeedNet 在南部的 DNS 服务器之 IP 作为设定的方式!请注意一下,如果你不知道你的最接近的 DNS 服务器的 IP ,那么直接输入 nameserver 168.95.1.1 这个中华电信的 DNS 主机即可!不过如果你公司内部有设定防止 DNS 的要求封包的防火墙规则时,那么你就得要请教贵公司的网管单位告知你的 DNS IP 设定啦!然后赶紧测试看看:
# 检查四:看看 DNS 是否顺利运作了呢?很重要的测试喔![root@www ~]# dig www.google.com....(前面省略)....;; QUESTION SECTION:;www.google.com. IN A;; ANSWER SECTION:www.google.com. 428539 IN CNAME www.l.google.com.www.l.google.com. 122 IN A 74.125.71.106....(中间省略)....;; Query time: 30 msec;; SERVER: 168.95.1.1#53(168.95.1.1) <==这里的项目也很重要!;; WHEN: Mon Jul 18 01:26:50 2011;; MSG SIZE rcvd: 284
上面的输出有两个重点,一个是问题查询的是 www.google.com 的 A (Address) 参数,并且从回答 (Answer) 里面得到我们所需的 IP 参数。最后面一段的 Server 项目非常重要!你得要看是否与你的设定相同的那部 DNS 服务器 IP 才行! 以上面输出为例,鸟哥使用中华电信的 DNS 服务器,所以就出现 168.95.1.1 的 IP 地址啰。
3、主机名的修改、启动与观察
修改主机名就得要改 /etc/sysconfig/network 以及 /etc/hosts 这两个档案,这两个档案的内容又简单的要命喔!
# 特别注意,这个档案的原本内容不要删除!只要新增额外的数据即可![root@www ~]# vim /etc/sysconfig/networkNETWORKING=yesHOSTNAME=www.centos.vbird[root@www ~]# vim /etc/hosts192.168.1.100 www.centos.vbird
修改完毕之后要顺利启动的话,得要重新启动才可以。为什么需要重新启动呢?因为系统已经有非常多的服务启动了, 这些服务如果需要主机名,都是到这个档案去读取的。而我们知道配置文件更新过后,服务都得要重新启动才行。 因此,已经启动而且有读到这个档案的服务,就得要重新启动啊!真麻烦~因此,最简单的方法,就是重新启动。 但重开机之前还需要进行一项工作,否则,你的系统开机会花掉很多时间喔!
# 还是默认值,尚未更新成功!我们还得要进行底下的动作!# 检查五:看看你的主机名有没有对应的 IP 呢?没有的话,开机流程会很慢![root@www ~]# hostnamelocalhost.localdomain# 因为我们有设定 /etc/hosts 规定 www.centos.vbird 的 IP ,# 所以才找的到主机主机名对应的正确 IP!这时才能够 reboot 喔!重要重要![root@www ~]# ping -c 2 www.centos.vbirdPING 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 ms64 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 1000msrtt min/avg/max/mdev = 0.015/0.021/0.028/0.008 ms
上面的信息中,检查的内容总共有五个步骤,这五个步骤每一步都要成功后才能够继续往下处理喔! 至于最重要的一点,当你修改过 /etc/sysconfig/network 里面的 HOSTNAME 后, 务必要重新启动 (reboot)。但是重新启动之前,请务必『 ping 主机名』且得到 time 的响应才行!
配置了网络的linux机器就可以使用ssh来管理了,可以回到你的办公室泡上一杯茶,打开你的计算机来管理了。
CentOS学习笔记--配置网络