注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Travel,Discover

Time ends everything~

 
 
 

日志

 
 

Linux 网络相关配置文件  

2010-03-20 20:39:54|  分类: 工作日志 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
了解 Linux 网络相关设定档案放置的目录与文件名真的很重要!因为在 Linux 底下修改 IP 只要动到一个档案即可,修改主机名称也只要一个档案,所以只要将这些文件名称记起来, 未来在进行网络的测试与修订时,真的会事半功倍~完全不需要什么 linuxconf, webmin 等额外工具的帮助, 真的很简单啦!
底下赶紧来说一说与 Linux 网络最相关的几个档案档名与他的用途!
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/etc/sysconfig/network
这个档案主要的功能在于设定『主机名称( HOSTNAME )与启动 Network 与否』!一般来说,如果您变动过这个档案内的主机名称时,请务必重新开机 (reboot), 因为这样才会让系统上面所有的程序都使用最新设定的主机名称喔!
设定形式:设定值=值
设定项目如下:
NETWORKING 是否利用网络                                       
GATEWAY 默认网关
IPGATEWAYDEV 默认网关的接口名
HOSTNAME 主机名
DOMAIN 域名


/etc/sysconfig/network-scrips/ifcfg-eth0
这个档案的内容即是设定网络卡参数的档案啦!里面可以设定『network, IP, netmask, broadcast, gateway, 开机时的 IP 取得方式( DHCP, static ), 是否在开机的时候启动』等等。至于 ifcfg-eth0 指的是第一块网络卡,而第二块网络卡为 ifcfg-eth1 以此类推。

设定形式:设定值=值
设定项目如下:
DEVICE    接口名(设备,网卡)
BOOTPROTO IP的配置方法(static:固定IP, DHCP:自动获取, none:手动)         
HWADDR    MAC地址
ONBOOT    系统启动的时候网络接口是否有效(yes/no)
TYPE      网络类型(通常是Ethemet)
NETMASK   网络掩码
IPADDR    IP地址
IPV6INIT  IPV6是否有效(yes/no)
GATEWAY   默认网关IP地址
这里有一个例子:
CODE:
[root@linux ~]# cat -n /etc/sysconfig/network-scripts/ifcfg-eth0
      1   DEVICE=eth0
      2   BOOTPROTO=static
      3   BROADCAST=192.168.1.255
      4   HWADDR=00:0C:2x:6x:0x:xx
      5   IPADDR=192.168.1.23
      6   NETMASK=255.255.255.0
      7   NETWORK=192.168.1.0
      8   ONBOOT=yes
      9   TYPE=Ethernet


/etc/modprobe.conf
如果硬件要能动作,当然要核心有支持才行!同时,我们也可以利用外挂的核心模块 (可以将他想成是驱动程序) 来驱动硬件,而开机时用来设定加载核心模块的档案就是 modprobe.conf 啦。一般来说,目前的 distributions 通常使用模块的方式来编译网络卡驱动程序,所以, 当您安装完毕后,您的网络卡与模块对应通常已经写到这个档案当中啰!

/etc/resolv.conf
DNS 功能就是进行主机名称与 IP 的对应,而 resolv.conf 就是设定 DNS IP (名称解析服务器地址) 的档案, 常常有人提到『咦!我已经可以 ping 到外部计算机的公共 IP 了,为何输入网址却无法联机?』 通常发生的错误就是这个档案里面的设定不正确啦!Google提供了免费的公共DNS服务器8.8.8.8
设定项目如下:
domain     ←定义本地域名
search     ←定义域名和搜索列表
nameserver ← 定义被参照的DNS服务器的IP地址(最多可指定3个)
一般来说最重要的是第三个 nameserver项目,没有这项定义,用域名将无法访问网站,并且yum等服务将无法使用


/etc/hosts
这个档案可以记录计算机的 IP 对应主机的名称或者主机的别名!特别留意的是, 在局域网络内有些服务需要反查 Client 的身份,此时就会动用到主机名称对应 IP 的数据。 但是因为局域网络内使用私有保留 IP ,当然无法进行 Hostname 对应 IP 的行为, 这个时候该服务就会呆呆的等待 30~60 秒~如果可以避过这个反查,或者是直接告诉主机 Hostname 与 IP 的对应,那么就可以节省这个反查的时间了!所以,如此一来省去反查的时间,就可以改善 LAN 内的联机速度了!这个 hosts 就是用来设定 Hostname 对应 IP 的啦!
/etc/hosts记载LAN内连接的各主机的对应 [HostName和IP]用的。在LAN内,我们各个主机间访问通信的时候,用的是内网的IP地址进行访问 (例:192.168.1.22,192.168.1.23),从而确立连接进行通信。除了通过访问IP来确立通信访问之外,我们还可以通过 HostName进行访问,我们在安装机器的时候都会给机器起一个名字,这个名字就是这台机器的HostName,假设HostA的hostname是 centos1,HostB的hostname是centos2,那我们怎么能不但通过IP确立连接,通过这个IP对应的HostName进行连接访问呢?解决的办法就是这个/etc/hosts这个文件,通过把LAN内的各主机的IP地址和HostName的一一对应写入这个文件的时候,就可以解决问题。
要在HostA上用ssh访问HostB的时候,在命令行下做这样的 操作:
CODE:
[root@centos1 ~]# ssh 192.168.1.23
[email=root@192.168.1.23's]root@192.168.1.23's[/email] password:
Last login: Mon Dec 25 15:04:58 2006 from centos1
[root@centos2 ~]#
访问成功后,我们看到hostname的地方变化了。
那么我们用hostname试试看:
CODE:
[root@centos1 ~]# ssh centos2
ssh:centos2: Name or service not known ←提示错误,不知道主机
那 么我们编辑/etc/hosts文件,将HostB的IP和hostname的对应关系写入这个文件,如果主机有域名,可以将域名写在IP地址之后 hostname之前,并且用空格隔开,形式如第三行127.0.0.1的设置。
CODE:
[root@centos1 ~]# cat -n /etc/hosts
     1 # Do not remove the following line, or various programs
     2 # that require network functionality will fail.
     3 127.0.0.1       localhost.localdomain   localhost
     4 192.168.1.23    centos2
[root@centos2 ~]#
CODE:
[root@centos1 ~]# ssh centos2
[email=root@centos2's]root@centos2's[/email] password:
Last login: Mon Dec 25 15:05:07 2006 from centos1
[root@centos2 ~]#
可以看到访问成功了,这个文件就是这样的,倘若你要用windowsXP访问局域网中的linux你也可以用上面的方法,只不过在 windowsXP下面你也要修改hosts这个文件,文件路径:C:\WINDOWS\system32\drivers\etc\hosts,在这个 文件中添加你要访问的局域网中的主机的IP和hostname,就能通过主机名访问主机了。


/etc/services
这个档案则是记录架构在 TCP/IP 上面的各种协议,包括 http, ftp, ssh, telnet 等等服务所定义的 port number ,都是这个档案所规划出来的。如果您想要自订一个新的协议与 port 的对应,就得要改这个档案了。

/etc/protocols 这个档案则是在定义出 IP 封包协议的相关数据,包括 ICMP/TCP/UDP 这方面的封包协议的定义等。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
大概知道上面这几个档案后,未来要修改网络参数时,那就太简单了! 至于网络方面的启动指令的话,可以记得几个简单的指令即可喔!
#ifup eth0 (#ifdown eth0) 启动或者是关闭某张网络接口。可以透过这个简单的 script 来处理喔! 这两个 script 会主动到 /etc/sysconfig/network-scripts/ 目录下, 读取适当的设定档来处理啊! (例如 ifcfg-eth0)。
/etc/init.d/network restart 这个 script 最重要!因为可以一口气重新启动整个网络的参数! 它会主动的去读取所有的网络设定文件,所以可以很快的恢复系统预设的参数值。每个 distributions 的设定数据可能都不太相同,不过却都以 /etc/init.d/network 作为启动的 script , 因此,只要了解到该档案的内容,很容易就追踪得出来您的设定档所需要的内容了!
      
      
  评论这张
 
阅读(190)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018