首页 > 代码库 > Linux 网络配置和管理
Linux 网络配置和管理
一、基本概念:
1、协议protocol:约定收发双方能理解的数据格式。
2、分层:将复杂任务分解为简单的任务。
3、MAC:Media Access Control介质访问控制。
二、网络类型:
1、CSMA/CD:监听到网络空闲即立即发送信息,边发送边监听。
著名的以太网就采用这种方式发送信息。
单工:要么发,要么收。
双工:收发同时,互不影响。
CSMA/CD设备:
a、Hub:集线器,接收双方在接收信息就独占线路,其他接收双方只能等待。可见效率较低。
现在已经很少用Hub。
b、网桥(只有两个端口):网桥解决了冲突域的问题。能暂存数据,内部有地址数据表格且内部有多个线路,
在接收信息是临时建立一通路,接发完毕断开。可见效率较高。
交换机(MAC表)(多端口的网桥):但是不能解决广播域的问题。
路由器(路由表):用来隔断广播域的问题,从而解决了广播域的问题。
从而实现了跨网络通信,又能有效解决广播域的问题。
IP:四段:网络地址和主机地址
A大网络:0 000 0000-0 111 1111:0-127,第一段为网络地址,并且规定第一位为0,其他为主机地址
B中网络:10 00 0000-10 11 1111:128-191,前两段为网络地址,并且规定前两位为10,其他为主机地址
C小网络:110 0 0000-110 1 1111:192-223,前三段为网络地址,并且规定前三位为110,其他为主机地址
主播地址 1110 0000-1110 1111:224-239
测试网络 1111 0000-1111 1111:240-255
全0:网络地址
全1:广播地址
A:1-126:
2^7个网络
每个网络中的主机:2^24-2
默认掩码:255.0.0.0
1私有网络:10.0.0.0
B:128-191
2^14个网络
每个网络中的主机:2^16-2
默认掩码:255.255.0.0
16个私有网络:172.16.0.0-172.31.0.0
C:192-223
2^21个网络
每个网络中的主机:2^8-2
默认掩码:255.255.255.0
256个私有网络:192.168.0.0-192.168.255.0
子网掩码:网络地址为1,主机地址为0,因此小公司的子网掩码为225.255.255.0
1-4:通信,在内核空间解析完成。
物理层:物理介质,封装前导码。
链路层:数据帧,封装源mac和目标mac,只能完成从一个物理设备到另一个物理设备间通信。
网络层:数据包,IP协议。路由器就工作在此层上。
传输层:用于标记进程即端口(0-65535),TCP/UDP协议。
TCP:0-65535,Transimission Control Protocol
UDP:0-65535 User Datagram Protocol 用户数据包协议
Socket套接字:由IP+Port组成。
5-7:资源,在用户空间解析完成。
会话层:保持会话
表示层:标记资源展示。
应用层:标记资源,即以什么格式的文件返回给客户端。
TCP:有连接协议,建立逻辑连接。
建立连接:需要三次握手。
SYN=1,ACK=0,FIN=0
SYN=1,ACK=1,FIN=0
SYN=1,ACK=1,FIN=0
断开连接:需要四次握手。
2、Token Ring:令牌环网。
三、配置主机接入TCP/IP网络:
IP/Netmask(掩码)
路由:提供与非本地网络的主机进行通信。
主机路由:host
网络路由:net
默认路由:default,又叫网关。
DNS服务器:
主DNS服务器。
备用DNS服务器。
主机名:
四、网络配置:
1、静态指定:必须配置IP、Netmask这两项,配置这两项后能完成本地网络通信。
要想完成与其他网络通信必须“路由(网关)和DNS服务器”
1.1IP属于内核,只是显示在网卡上。
1.2配置IP:
a、网络设备服务配置文件:配置IP信息,在机器启动时读取,完成IP配置长久有效。
b、GUI/TUI:文本窗口/图形窗口。
TUI界面:#system-config-network-tui,配置结束后将保存至配置文件中。
注意通过setup选择network-configration可以打开TUI界面。
GUI:图形界面。点击鼠标可以配置。极少用。
c、用户空间的命令行工具:立即生效,单不会长久有效。ifconfig和iproute2
ifconfig:
ifconfig无参数:显示所有活动接口的相关信息,部分显示结果说明如下:
Link encap:Ethernet 以太网。
HWaddr:mac地址
inet addr:ip地址
Bcast:广播地址
Mask:掩码
MTU:最大传输单元,如1500。
RX:接收报文信息。
TX:传送报文信息。
lo:本地回环地址信息。
ifconfig Interface:仅显示指定接口的相关信息。如ifconfig eth0
用ifconfig设置IP:
长格式:
ifconfig Interface IP netmask MASK:ifconfig eth0 192.168.1.1 netmask 255.255.255.0
短格式:
ifconfig Interface IP/MASK:ifconfig eth0 172.16.100.7/16
route:显示路由信息,
-n:使用数字格式显示,不反解地址到主机名。
route add:添加路由
-host HOST_IP gw next_hop(dev device)
-net Net_ADDR
-net 0.0.0.0 目标地址为任意地址
route del:删除路由
-host HOST_IP
-net NET_ADDR
2、动态配置:
DHCP(Dynamic Host Configuration Protocol)服务器
/etc/resolv.conf
DNS 服务器指向:需要在/etc/resolv.conf配置,最多配置三个。
nameserver DNS_SERVER_IP
正解测试:#dig -t A FQDN,如#dig -t A www.baidu.com
反解测试:#dig -x IP ,如#dig -x 115.239.210.27
3、网络设备如何表示:
内核识别设备:驱动
以太网设别:ethX,如eth0,eth1,eth2...
4、服务脚本:多数为控制运行于后台守护进程,接收参数 {start|stop|restart|status}
配置某服务开机自动启动:chkconfig Srv_Script_Name on
禁止开机自动启动:chkconfig Srv_Script_Name off
查看::chkconfig --list Srv_Script_Name
调用机制:# /etc/init.d/Script_Name {start|stop|restart|status}
与网络设备相关的服务脚本:她们通常能够读取网络设备的胚子文件,并实现其配置生效或失效的管理功能。
CentOS 5/6 :网络服务脚本:/etc/init.d/network
CentOS 6还有一个单独的服务脚本:网络服务脚本:/etc/init.d/NetworkManager
注意:集群等配置需要关闭NetworkManager:即执行 chkconfig NetworkManager off
网络配置文件有两类(/etc/sysconfig/network-scripts):
配置IP、掩码、网关:
以太网:ifcfg-ethX
ppp:ifcfg-pppX
ifcfg-ethX的配置文件:
DEVICE="eth0":此配置关联的设备,设备名要与文件名ifcfg-后的内容保持一致。
BOOTPROTO="dhcp":引导协议,{none|static|dhcp(动态获取)|bootp}
HWADDR="00:0C:29:8C:D0:8F":MAC地址,要与真实MAC保持一致,可省略。
IPV6INIT="yes":是否自动初始化IPV6协议地址。
NM_CONTROLLED="yes":是否接受NetworkManager脚本控制{yes|no}
ONBOOT="yes":是否关机自动启用此网络设备{yes|no}
TYPE="Ethernet":设备类型,如Ethernet,Bridge
UUID="a9aa12e9-0450-497d-bc7d-909f1b0fd5cf":唯一标示,可省略。
IPADDR=192.168.127.135:IP地址
NETMASK=255.255.255.0:掩码
GATEWAY=10.0.0.1:默认网关
DNS1=10.0.0.1
USERCTL=no:是否允许普通用户启用或者禁用此网络设备。
注意:BOOTPROTO="dhcp",则后面关于IP/NETMASK/GATEWAY/DNS等的配置无效,因为是动态获取。
原理同window的动态IP获取。
在ifcfg-ethX中配置的内容永久有效,通过ifconfig配置的内容临时有效,重启失效。
配置路由:
route-ethX
route-pppX
route-ethX的配置文件:每行一个行配置的路径条目
例如:192.168.0.0/24 via 172.6.100.177,同route add -net 192.168.0.0/24 gw 172.6.100.177
在route-ethX中配置的内容永久有效,用route add 配置的内容临时有效,重启失效。
配置的格式1为:DEST via NEXT_HOP,如上例。
配置的格式2为:ADDRESS#=DEST
NETMASKE#=Netmask
GATEWAY#=Gateway
例如:如格式1用格式2配置如下:
ADDRESS0=192.168.0.0
NETMASKE0=255.255.255.0
GATEWAY0=172.6.100.177
5、iproute2(ip,ss):注意比较复杂用的比较少。
6、网络管理或监测的相关工具:
ping:
-c(count) :指定ping的次数。如:ping -c 2 www.baidu.com
traceroute:获取从当前主机到达目标主机所经过的路由(网关),不过一般服务器禁止traceroute。
netstat:执行速度有点慢。
-n:数字格式显示
-t:tcp协议的链接
-u:udp协议的链接
-l:监听状态的链接
-a:所有状态的链接
-p:链接相关的进程
-r:显示路由表
常用组合:netstat -tan
netstat -tuan
netstat -tunl
netstat -rn
ss:执行速度比netstat要快。
-n:数字格式显示
-t:tcp协议的链接
-u:udp协议的链接
-l:监听状态的链接
-a:所有状态的链接
-p:链接相关的进程
-e:显示扩展信息
-m:显示套接字链接使用的内存信息
-o state {established建立的链接|listen 监听的链接}
ethtool ethX:显示设备接口属性,如ethtool eth0
ethtool -S ethX:显示设备接口统计数据。
Linux 网络配置和管理