首页 > 代码库 > Linux网络基本配置

Linux网络基本配置

一.网络配置文件
1./etc/sysconfig/network-scripts/ifcfg-ethN(N代表1,2,3,.....)
第一块网卡ifcfg-eth0,第二块网卡ifcfg-eth1......
文件参数:
  *DEVICE        接口名(设备,网卡)
  *USERCTL      [yes|no](非root用户是否可以控制该设备)
  *BOOTPROTO    IP的配置方法[none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)
  *HWADDR        MAC地址   
  *ONBOOT        系统启动的时候网络接口是否有效(yes/no)   
  *TYPE        网络类型(通常是Ethemet)   
  *NETMASK        网络掩码   
  *IPADDR        IP地址   
  *IPV6INIT    IPV6是否有效(yes/no)  
  *GATEWAY        默认网关IP地址
  *BROADCAST     广播地址
  *NETWORK  网络地址
====可参照下面的例子====

  *DEVICE=eth0        
  *BOOTPROTO=static        
  *BROADCAST=192.168.1.255        
  *HWADDR=00:0C:2x:6x:0x:xx        
  *IPADDR=192.168.1.23        
  *NETMASK=255.255.255.0        
  *NETWORK=192.168.1.0        
  *ONBOOT=yes    

2./etc/resolve.conf  
DNS客户机配置文件,设置DNS服务器的IP地址及DNS域名
domain  xxx.com  
search  www.xxx.com  xxx.com
nameserver 202.102.192.68
nameserver 202.102.192.69
最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。
nameserver表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的,且只有当第一个nameserver没有反应时才查询下面的nameserver。
domain   声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点( .)前面的内容。
search   它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。
domain和search不能共存;如果同时存在,后面出现的将会被使用。

3./etc/host.conf
该文件指定如何解析主机名。Linux通过解析器库来获得主机名对应的IP地址。下面是一个“/etc/host.conf”的示例:
 order  bind,hosts
 multi  on
 nospoof  on
 “order  bind,hosts”指定主机名查询顺序,这里规定先使用DNS来解析域名,然后再查询“/etc/hosts”文件(也可以相反)。
 “multi  on”指定是否“/etc/hosts”文件中指定的主机可以有多个地址,拥有多个IP地址的主机一般称为多穴主机。
 “nospoof  on”指不允许对该服务器进行IP地址欺骗。IP欺骗是一种攻击系统安全的手段,通过把IP地址伪装成别的计算机,来取得其它计算机的信任

4./etc/sysconfig/network
主要的功能在于设定『主机名称( HOSTNAME )与启动 Network 与否』!一般来说,如果您变动过这个档案内的主机名称时,请务必重新开机 (reboot),因为这样才会让系统上面所有的程式都使用最新设定的主机名称。
设置基本的网络配置,包括主机名称,网关等信息,下面就是文件的内容。
NETWORKING=yes
HOSTNAME=DUZHAN
GATEWAY=192.168.1.2
NETWORKING:用于设置Linux网络是否运行,yes为运行,no为不运行
HOSTNAME:主机的名称,我们上面的名称为DUZHAN
GATEWAY:为网关的IP地址


5./etc/hosts
当机器启动时,在可以查询DNS以前,机器需要查询一些主机名到IP地址的匹配。这些匹配信息存放在/etc/hosts文件中。在没有域名服务器情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址。
  下面是一个“/etc/hosts”文件的示例:
  127.0.0.1 Localhost Gate.openarch.com
  208.164.186.1 www.it.com   www
  最左边一列是主机IP信息,中间一列是主机名。任何后面的列都是该主机的别名。

  一旦配置完机器的网络配置文件,应该重新启动网络以使修改生效。
    

6./etc/services    
是一个服务名和服务端口对应的数据
库文件
# /etc/services:
# $Id: services,v 1.43 2007/04/18 08:40:12 pknirsch Exp $
#
# Network services, Internet style
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, most entries here have two entries
# even if the protocol doesn‘t support UDP operations.
# Updated from RFC 1700, ``Assigned Numbers‘‘ (October 1994).  Not all ports
# are included, only the more common ones.
#
# The latest IANA port assignments can be gotten from
#       http://www.iana.org/assignments/port-numbers
# The Well Known Ports are those from 0 through 1023.
# The Registered Ports are those from 1024 through 49151
# The Dynamic and/or Private Ports are those from 49152 through 65535
#
# Each line describes one service, and is of the form:
#
# service-name  port/protocol  [aliases ...]   [# comment]
//服务名称      端口/协议       别名            注释
tcpmux          1/tcp                           # TCP port service multiplexer
tcpmux          1/udp                           # TCP port service multiplexer
rje             5/tcp                           # Remote Job Entry
rje             5/udp                           # Remote Job Entry
echo            7/tcp
echo            7/udp
discard         9/tcp           sink null
discard         9/udp           sink null
systat          11/tcp          users
systat          11/udp          users
daytime         13/tcp
daytime         13/udp
qotd            17/tcp          quote
qotd            17/udp          quote
msp             18/tcp                          # message send protocol
msp             18/udp                          # message send protocol
chargen         19/tcp          ttytst source
chargen         19/udp          ttytst source
ftp-data        20/tcp
ftp-data        20/udp
# 21 is registered to ftp, but also used by fsp
。。。。。。。。。。。。。。。


二.网络命令
1.traceroute--显示数据包到目标主机之间的路径
traceroute -n 网址  直接使用IP地址

2.ifconfig--显示和设置网卡的IP地址
参数
up     启动指定网络设备/网卡。
down   关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。
netmask<子网掩码>   设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。
# ifconfig eth0 192.168.120.56 netmask 255.255.255.0
给eth0网卡配置IP地址:192.168.120.56 ,并加上子掩码:255.255.255.0

3.ping--测试与目标计算机之间的连通性
参数
-c:设置完成要求回应的次数
-i:指定收发信息的间隔时间
-s:设置数据包的大小


4.netstat--命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships)
参数
-a (all)显示所有选项,默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令
实例:
# netstat -at
列出所有 tcp 端口 netstat -at
# netstat -au
列出所有 udp 端口 netstat -au
# netstat -l
 只显示监听端口 netstat -l
# netstat -pt
在 netstat 输出中显示 PID 和进程名称
# netstat -r
显示核心路由信息

5.arp--增加、删除、显示arp缓存
参数
-a:为指定主机显示当前的ARP缓存信息
-s:创建一个arp缓存
-d:删除一个arp缓存

6.tcpdump--监视TCP/IP连接,并直接读取数据链路层的数据包头
#tcpdump -i eth0
使用指定的网络接口读取数据链路层的数据包头

三.管理网络服务
1.ntsysv--配置让服务在系统启动时自动启动或停止

2.chkconfig--控制服务的启动、停止和重新启动,需要在计算机重新启动后才会生效
chkconfig  --list [服务名]
显示所有/指定运行级别服务的运行状态信息

chkconfig --add [服务名]
增加一项新的服务

chkconfig --del [服务名]
删除服务,并把相关符号链接从/etc/rc[0-6].d 目录中删除

chkconfig [--level levels] [服务名] [on|off|reset]
设置某一服务在指定运行级别的被启动、停止还是重启
例:#chkconfig --level 345 named on
在运行级别3,4,5上启动named服务


3.service--控制服务的启动、停止和重新启动,,会马上生效
service [服务名] [start|restart|stop|status]
start:启动服务
restart:重启服务
stop:停止服务
status:查看服务状态

Linux网络基本配置