Linux网络管理
一、Linux与网络
1、 linux支持的网络系统
目前的linux支持下面几种网络,OSI三层以上的:
l TCP/IP
l NetBIOS与NetBEUL
l IPX/SPX
l AppleTalk
OSI三层以下的则有下面:
l 以太网络(Ethernet)
l 记号环(Token Ring)
l 光纤数据分布式接口(FDDI)
l ATM
l ADSL
l 帧中继(FrameRelay)
2、 网络地址的配置
静态地址:不需依赖其他的机制,最大的缺点就是不易维护
动态地址:BOOTP协议(全名为启动协议),DHCP协议(动态主机配置协议)
3、 IP别名
可以通过IP别名(IP Alias)的技巧,让一张网卡可以拥有多个IP址,所以IP别名又被称为虚拟NIC,
NICNAME:ALIAS
其中NICNAME就是NIC的识别名称,而ALIAS则是网卡的别名,可以使用任何的名称,但通常使用0~255的数字作为网卡别名
l 一张真实的网卡上,所有的NIC只能有一个通过BOOTP/DHCP取得IP
l 最好让真实网卡通过BOOTP/DHCP取得IP地址
4、 网卡状态
如果使用以太网卡,可以使用mii-tool工具来查看或设置以太网卡的状态,mii-tool的语法如下:
mii-tool [OPTIONS…] [INTERFACE…]
mii-tool常用的参数一览表
参数 |
说明 |
-v ,--verbose |
显示冗长(verbose)的信息 |
-R,--reset |
重新设置以太网卡,使其恢复默认 |
-r, --restart |
重新启动以太网卡的自动协调机制 |
-l,--log |
将网络卡信息记录至记录文件中,取代标准输出,-l参数必须配合-w使用 |
-A ,--advertise=MEDIA |
启用自动协商机制,并以MEDIA的顺序指定其媒体类型,MEDIA可以指定下列几项: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD |
-F –force=MEDIA |
取消自动协商机制,并且设置网络卡的媒体类型为MEDIA,MEDIA除了-A参数的项目外,还可以指定100base-T4 |
INTERFACE |
以太网络接口名称,如果没有指定INTERFACE,则将显示所有的以太网卡 |
5、 查看网卡的配置
如果你想查看一下自己网卡的配置,可以使用ifconfig命令:
Ifconfig [ -a | INTERFACE ]
Ifconfig 查看网卡时显示信息的一表:
参数 |
说明 |
IPADDR |
指定网卡要使用的IP地址 |
NETMASK |
定义网卡的子网掩码 |
MTU |
设置网卡最大传输单位大小 |
METRIC |
定义默认的路由成本 |
GATEWAY |
设置网络的默认网关 |
DNS1 |
指定主要的DNS服务器 |
DNS2 |
批定备用的DNS服务器 |
你可以在网卡的配置文件与/etc/sysconfig/network定义GATEWAY参数,如果两个文件都设置该参数,则在网卡配置文件中的GATEWAY参数的值将覆盖/etc/sysconfig/network的GATEWAY的值。
6、 网卡的启动与关闭
网卡的启动与关闭太简单了,我这里就不介绍了
二、配置主机名与域名解析
1、 查看目前的主机名
以下是我用三种方法来查看我本机的主机名:
[root@unix ~]#cat /proc/sys/kernel/hostname
[root@unix ~]#sysctl kernel.hostname
[root@unix ~]#hostname
2、 修改主机名
l 直接修改/proc/sys/kernel/hostname文件的内容
l 使用sysctl命令修改kernel.hostname参数
l 使用hostname设置新的主机名
为什么修改主机名后,bash不会马上更改提示字串中的主机名:
Bash显示的提示字符串是在登录的时候设置的,修改完主机名后并没有重新设置bash的提示字符串,因此bash还是用的旧的主机名,如果你打算立即修改主机名,你可以采用两个种方式,1、重新设置一次PS1变量,你可以重新定义一次PS1,这样可以要求bash更新提示字符串的内容,你可以执行export PS1=”$PS1”这个命令设置PS1 变量,2、logout注销一下
3、 域名解析数据的设置
A、本机域名解析数据库/etc/hosts
B、作为DNS客户端
以下是我/etc/resolv.conf
/etc/resolv.conf是以;号作为注释符号,而不是#号,下表是resolv.conf常见参数:
参数 |
说明 |
nameserver NAMESERVER |
指定DNS服务器的IP地址,resolv.conf中最多可以指定3条nameserver,一行一组,rhel会依次向nameserver指定的DNS服务器进行域名解析,联机到第一台DNS服务器超时,才会找下一台服务器,如果所有nameserver的DNS服务器都超时,那么rhel会从第一台开始重新解析,直到循环5次都失败时才宣告解析失败 |
Search DOMAIN |
通过DNS服务器进行域名解析时,如果没有指定域名(domain Name),则会自动附加DOMAIN的域名,一组search参数,最多可指定6组域名 |
Domain DOMAIN |
指定本地域名 |
注意:search与domain参数都可以指定搜寻的域名,但若同时指定了search与domain参数,则将以最后一个设置的网络为解析时默认网络。
4、 配置域名解析的顺序
/etc/nsswitch.conf是GNU C Library提供的“名称服务切换器”(Name Service Switch),当应用程序需要通过GNU C Library 提供函数进行域名解析时,他就会根据nsswitch.conf的设置,来决定如何执行域名解析的工作。
在hosts参数后可以指定两项内容:
l Files:从本机域名解析数据库查询主机名信息
l Dns:通过DNS服务器进行域名解析
假设我的/etc/hosts的内容为:
172.16.12.12 www.unix.com unix
而/etc/resolv.conf则为:
Nameserver 172.16.12.100
在 172.16.12.100 的DNS服务器中,提供了一个www.unix.com的主机名解析资料对应的IP为172.16.12.13,如果/etc/nsswitch.conf的hosts不同,则解析的结果也不一样
File dns: www.unix.com会被解析出172.16.12.12
Dns file: www.unix.com会被解析出172.16.12.13
本文出自 “洋仔 Learning......” 博客,谢绝转载!