二、Linux网络基础
包含(本地网络中)已知主机的一个列表,用于主机名解析;
文件格式:
ip地址 主机名 别名
$ cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
Internet网络服务文件,将网络服务名转换为端口号/协议。由 inetd、telnet、tcpdump 和一些其它程序读取。文件中的每一行对应一种服务,它由4个字段组成,中间用TAB或空格分隔,分别表示“服务名称”、“使用端口”、“协议名称”以及“别名”;
文件格式:
服务 端口/端口类型 别名
$ cat /etc/services |more
tcpmux 1/tcp # TCP port service multiplexer
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users
daytime 13/tcp
daytime 13/udp
netstat 15/tcp
qotd 17/tcp quote
msp 18/tcp # message send protocol
主机名配置文件,该文件只有一行,记录着本机的主机名。
主机名
$ cat /etc/hostname
lt
当系统中同时存在DNS域名解析和/etc/hosts主机表机制时,由该/etc/host.conf确定主机名解释顺序。
order hosts,bind #名称解释顺序
multi on #允许主机拥有多个IP地址
nospoof on #禁止IP地址欺骗
order是关键字,定义先用本机hosts主机表进行名称解释,如果不能解释,再搜索bind名称服务器(DNS)。
名称服务交换设定文件。它控制了数据库搜寻的工作,包括承认的主机,使用者,群组等。此外,这个档案还定义了所要搜寻的数据库;:
hosts: files dns
指明主机数据库来自两个地方,files ( /etc/hosts file) 和 DNS;
cat /etc/nsswitch.conf
# looked up first in the databases
#
# Example:
#passwd: db files nisplus nis
#shadow: db files nisplus nis
#group: db files nisplus nis
passwd: files
shadow: files
group: files
#hosts: db files nisplus nis dns
hosts: files dns
# Example - obey only what nisplus tells us...
#services: nisplus [NOTFOUND=return] files
#networks: nisplus [NOTFOUND=return] files
#protocols: nisplus [NOTFOUND=return] files
#rpc: nisplus [NOTFOUND=return] files
#ethers: nisplus [NOTFOUND=return] files
#netmasks: nisplus [NOTFOUND=return] files
bootparams: nisplus [NOTFOUND=return] files
ethers: files
netmasks: files
networks: files
protocols: files
rpc: files
services: files
netgroup: files
publickey: nisplus
automount: files
aliases: files nisplus
/etc/resolv.conf
该文件是DNS域名解析的配置文件(dns客户端),它的格式很简单,每行以一个关键字开头,后接配置参数。resolv.conf的关键字主要有四个,分别是:
nameserver #定义DNS服务器的IP地址
domain #定义本地域名
search #定义域名的搜索列表
sortlist #对返回的域名进行排序
用于配置常驻内核的网络接口。它用于在引导成功时设定网络接口。此后,只在需要调试及系统调整时才使用。
命令格式:
ifconfig [接口]
ifconfig 接口 [aftype] options | address ...
如没有给出参数, ifconfig 显示当前有效接口的状态。如给定单个 接口 作为参数,它只显示给出的那个接口的状态;如果给出一个 -a 参数,它会显示所有接口的状态,包括那些停用的接口。否则就对一个接口进行配置。
选项
接口 接口名称。通常是一个后跟单元号的驱动设备名,例如第一个以太接口 eth0 。
up
此选项激活接口。如果给接口声明了地址,等于隐含声明了这个选项。
down
此选项使接口驱动设备关闭。
netmask addr
为接口设定 IP 网络掩码。缺省值通常是 A,B 或 C 类的网络掩码 (由接口的 IP 地址推出),但也可设为其它值。
add addr/prefixlen
为接口加入一个 IPv6 地址。
del addr/prefixlen
为接口删除一个 IPv6 地址。
hw class address
如接口驱动程序支持,则设定接口的硬件地址。此选项必须后跟硬件的类型名称和硬件地址等价的可打印 ASCII 字符。当前支持的硬件类型包括 ether (以太网), ax25 (AMPR AX.25), ARCnet 和 netrom (AMPR NET/ROM)
常用ifconfig命令查看网络信息:
[root@localhost /]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:E5:F4:4D
inet addr:192.168.1.178 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:171903 errors:60 dropped:68 overruns:0 frame:0
TX packets:1142 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:10627497 (10.1 Mb) TX bytes:125156 (122.2 Kb)
Interrupt:10 Base address:0x1080
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:560 (560.0 b) TX bytes:560 (560.0 b)
* eth0 : 表示网卡代号
* lo :Linux内部的网络回环地址, 用于模拟网络行为,
* HWaddr :网卡的硬件地址,也就是MAC地址
* inet addr :网卡的ip地址
* Bcast :广播地址( broadcast ) ;
* Mask :子网掩码;
* MTU :最大传输单元的缩写(Maximum Trasmission Unit), 标示此网络接口的可传输的最大封包, 此值的设定错误可能引起网络故障.
* RX :网络从起动到现在为止数据的接收情况
* TX :网络从起动到现在为止数据的发送情况
* collisions :网络信号发生冲突的情况;
激活网络设备
ifconfig eth0 up
更改网络设备信息
#ifconfig eth0 192.168.1.112 netmask 255.255.255.0
关闭网络设备
ifconfig eth0 down
修改网卡的MAC地址
ifconfig eth0 down
ifconfig eth0 hw ether xx:xx:xx:xx:xx:xx
ifconfig eth0 up