本章Blog相关Linux知识点
CSMA/CD(Carrier Sense Multiple Access with Collision Detection)基带冲突检测的载波监听多路访问技术(载波监听多点接入/碰撞检测),是一种争用型的介质访问控制协议,主要应用于总线Ethernet中。它的工作原理是: 发送数据前 ,先侦听信道是否空闲 ,若空闲,则立即发送数据。若信道忙碌,则等待一段时间至信道中的信息传输结束后再发送数据;在上一段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突。若侦听到冲突,则立即停止发送数据,等待一段随机时间,再重新尝试。
冲突域:在同一个冲突域中的每一个节点都能收到所有被发送的帧。如hub的所有接口处于一个冲突域内
广播域:网络中能接收任一设备发出的广播帧的所有设备的集合。如交换机的每一个接口为一个冲突域,所有接口处于同一个广播域内;路由器的每一个接口为一个广播域 ,故路由器起隔离广播域的功能。
ip地址分类 : 私有ip地址
A:0.0.0.0-127.255.255.255 10.0.0.0-10.255.255.255
B:128.0.0.0-191.255.255.255 172.16.0.0-172.31.255.255
C:192.0.0.0-223.255.255.255 192.168.0.0-192.168.255.255
配置主机接入TCP/IP网络:配置IP/MASK ;配置路由 ;配置DNS;配置主机名
1、动态指定 ,ip ,ifconfig ,route
2、动态分配 ,DHCP服务器
3、静态指定,配置目录/etc/sysconfig/network-scripts/中的ifcfg-eth0 文件
网络设备如何表示:
内核识别设备:驱动
设备:别名
以太网设备: ethx
ppp设备:pppX
本地回环接口:lo
网络配置命令ip link,ip route ,ip addr ,route ,ifconfig
用户空间工具: # ip link ,# ip route , # ip addr , # route , # ifconfig ,这些命令配置网络信息可立即生效,但重启后配置将失效
# ifconfig (# ip addr , # ip link )显示所有活动网口的状态信息
-a 显示所有网络端口信息(包含被禁用掉的端口)
Interface :仅显示指定接口的相关信息
Interface Address/mask 配置接口ip地址
Interface Address netmask MASK
DNS服务器指向 :/etc/resolv.conf
格式:nameserver DNS_server_ip
例:# vi /etc/resolv.conf
nameserver 8.8.8.8
# route 显示路由信息
-n 使用数字格式显示,不反解析地址到主机名
add [-host|-net] Address/MASK gw Next_hop dev Device : 添加主机或网络路由,网关地址为Next_hop,从接口Device发出数据
del [-host|-net] Address/MASK :删除主机或网络路由
add -net default gw Next_hop dev Device : 添加默认路由
del -net 0.0.0.0/0 : 删除默认路由
# ip link 网络设备属性配置
set [dev] NAME [up |down] [multicast on | multicast off] :配置网络设备属性
show :显示网络设备信息
# ip addr 可以在一个接口上配置多个地址而不使用接口别名,显示这些地址:配置ip地址
add dev Interface Address/Mask label ethx:y :增加接口ethx:y 的ip地址
del dev Interface Address/Mask : 删除接口ethx:y 的ip地址
show :显示网络接口信息
flush dev Device:取消接口的ip地址
# ip route 配置网络路由信息
add Destnation via Next_top dev Device
del Destnation :删除路由信息
show :显示路由信息
启用/禁用接口,使用下列命令实现:
# ip link set Interface [on |off ]
# ifconfig Interface [on |off ]
# ifup Interface ,# ifdown Interface
如何实现在单个接口配置多个ip地址,通过网络接口别名来实现: ethx:y ,如eth0:1 ,eth0:2
配置1:# ifconfig ethx:y Interface/mask 例: # ifconfig eth0:1 192.168.4.160/24
[root@bogon ~]# ifconfig eth0:0 192.168.4.160/24 [root@bogon ~]# ifconfig eth0:1 192.168.4.170 netmask 255.255.255.0 [root@bogon ~]# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:5E:85:58 inet addr:192.168.23.110 Bcast:192.168.23.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe5e:8558/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:99 errors:0 dropped:0 overruns:0 frame:0 TX packets:80 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:11790 (11.5 KiB) TX bytes:10767 (10.5 KiB) eth0:0 Link encap:Ethernet HWaddr 08:00:27:5E:85:58 inet addr:192.168.4.160 Bcast:192.168.4.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 eth0:1 Link encap:Ethernet HWaddr 08:00:27:5E:85:58 inet addr:192.168.4.170 Bcast:192.168.4.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b) [root@bogon ~]# vi /etc/resolv.conf ; generated by /sbin/dhclient-script search itwish.cn nameserver 10.50.0.10 nameserver 10.99.10.2 ~ [root@bogon ~]# ip link show 1: lo:mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:5e:85:58 brd ff:ff:ff:ff:ff:ff [root@bogon ~]# ip link set dev eth0 multicast off [root@bogon ~]# ip link show 1: lo: mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:5e:85:58 brd ff:ff:ff:ff:ff:ff [root@bogon ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.23.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.23.254 0.0.0.0 UG 0 0 0 eth0 [root@bogon ~]# route add -host 192.168.3.150 gw 192.168.4.1 dev eth0 [root@bogon ~]# route add -net 192.168.2.0/23 gw 192.168.4.1 dev eth0 [root@bogon ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.3.150 192.168.4.1 255.255.255.255 UGH 0 0 0 eth0 192.168.23.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.2.0 192.168.4.1 255.255.254.0 UG 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.23.254 0.0.0.0 UG 0 0 0 eth0 [root@bogon ~]# route del -host 192.168.3.150 gw 192.168.4.1 dev eth0 [root@bogon ~]# route del -net 192.168.2.0/23 gw 192.168.4.1 dev eth0 [root@bogon ~]# route del -net default gw 192.168.23.254 dev eth0 [root@bogon ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.23.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 [root@bogon ~]# route add -net default gw 192.168.23.254 dev eth0 [root@bogon ~]# ip addr show 1: lo: mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:5e:85:58 brd ff:ff:ff:ff:ff:ff inet 192.168.23.110/24 brd 192.168.23.255 scope global eth0 inet6 fe80::a00:27ff:fe5e:8558/64 scope link valid_lft forever preferred_lft forever [root@bogon ~]# ip addr add dev eth0 192.168.4.190/24 label eth0:3 [root@bogon ~]# ip addr show 1: lo: mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:5e:85:58 brd ff:ff:ff:ff:ff:ff inet 192.168.23.110/24 brd 192.168.23.255 scope global eth0 inet 192.168.4.190/24 scope global eth0:3 inet6 fe80::a00:27ff:fe5e:8558/64 scope link valid_lft forever preferred_lft forever [root@bogon ~]# ip addr del dev eth0 192.168.4.190/24 [root@bogon ~]# ip route add 192.168.2.0/24 via 192.168.4.1 dev eth0 RTNETLINK answers: No such process [root@bogon ~]# ip route add 192.168.2.0/24 via 192.168.23.254 dev eth0 [root@bogon ~]# ip route show 192.168.23.0/24 dev eth0 proto kernel scope link src 192.168.23.110 192.168.2.0/24 via 192.168.23.254 dev eth0 169.254.0.0/16 dev eth0 scope link metric 1002 default via 192.168.23.254 dev eth0 [root@bogon ~]# ip route del 192.168.2.0/24 [root@bogon ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.23.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.23.254 0.0.0.0 UG 0 0 0 eth0
网络服务配置服务脚本
Centos 6脚本目录: /etc/rc.d/ini.td/ 或者 /etc/init.d/
服务脚本: SysV ,style ,LSB
控制运行在后台守护进程,接受参数 {start|stop|restart|status}
脚本位置: /etc/rc.d/init.d/ 或者 /etc/init.d/
配置某服务开机自动启动:# chkconfig Src_script_name on
禁止开机自动启动:# chkconfig Src_script_name off
查看开机启动的进程: # chkconfig --list
调用机制:
1、/etc/init.d/Script_name {start|stop|restart|status}
2、service Script_name {start|stop|restart|status}
与网络设备相关的服务控制脚本
它们通常能够读取为网络配置的配置文件,以之实现其配置生效或失效等管理功能
配置文件有两类(/etc/sysconfig/network-scripts/)
配置ip、掩码、网关: ifcfg-ethx ;ifcfg-pppx
配置路由:route-ethx;route-pppx
配置ip:/etc/sysconfig/network-scripts/ifcfg-ethx
配置ip、掩码、网关:ifcfg-ethx
[root@bogon ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 # 指定设备,此配置关联至设备 ,设备名要与文件名ifcfg-后的内容一致
HWADDR=00:0C:29:64:48:F5 # MAC地址,要与真实MAC地址保持一致,可省略
TYPE=Ethernet # 设备类型:Ethernet ,Bridge ,PPP
UUID=126fc358-718b-4364-84dc-50506fc6dd82 #唯一标示,可省略
ONBOOT=yes # 是否开机自动启用 {yes|no}
NM_CONTROLLED=yes # 是否接受NetworkManager 脚本控制 {yes|no}
BOOTPROTO=static # 配置引导协议 ,{none|static} 手动配置 ,dhcp 动态获取协议 ,bootp 引导协议,如无盘工作站
IPADDR=192.168.4.150 # ip地址
GATEWAY=192.168.4.1 # 网关
DNS1=221.130.33.60 # dns服务器地址
DNS2=221.130.33.52
NETMASK=255.255.255.0 # 子网掩码
IPV6INIT=no # 是否自动初始化IPv6协议地址
USERCTL=no # 是否允许普通用户启用或禁用此网络设备
PEERDNS={yes|no} # 是否允许dhcp服务分配地址时直接更新/etc/resolv.conf中的dns服务器地址
配置路由:/etc/sysconfig/network-scripts/route-ethx
配置文件的格式1,每行一个要配置的路由条目:Dest via Next_hop
配置文件格式2,每一组一个路由条目:
ADDRESS#=Dest
NETMASK#=Netmask
GATEWAY#=Gateway
[root@bogon ~]# vi /etc/sysconfig/network-scripts/route-eth0 192.168.2.0/24 via 192.168.4.1 192.168.10.0/24 via 192.168.4.1 [root@bogon ~]# service network restart Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: Determining if ip address 192.168.23.110 is already in use for device eth0... [ OK ] [root@bogon ~]# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.23.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.2.0 192.168.23.254 255.255.255.0 UG 0 0 0 eth0 192.168.10.0 192.168.23.254 255.255.255.0 UG 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.23.254 0.0.0.0 UG 0 0 0 eth0
如何实现在单接口上配置多个ip
配置2:通过配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0:1
DEVICE=ethx:y
BOOTPRO={none|static|dchp}
IPADDR=
ONBOOT=yes|no
GATEWAY=
USERCRL=yes|no
[root@bogon ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0:2 DEVICE=eth0:2 BOOTPRO=static ONBOOT=yes IPADDR=192.168.23.160 NETMASK=255.255.255.0 GATEWAY=192.168.23.254 DNS1=10.50.0.10 USERCRL=no PEERDNS=yes ~ [root@bogon ~]# service network restart Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: Determining if ip address 192.168.23.110 is already in use for device eth0... Determining if ip address 192.168.23.160 is already in use for device eth0... [ OK ] [root@bogon ~]# ip link show 1: lo:mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:5e:85:58 brd ff:ff:ff:ff:ff:ff [root@bogon ~]# ip addr 1: lo: mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:5e:85:58 brd ff:ff:ff:ff:ff:ff inet 192.168.23.110/24 brd 192.168.23.255 scope global eth0 inet 192.168.23.160/24 brd 192.168.23.255 scope global secondary eth0:2 inet6 fe80::a00:27ff:fe5e:8558/64 scope link valid_lft forever preferred_lft forever
配置主机名:# hostname
配置文件: /etc/sysconfig/network 或者 /etc/hostname
[root@bogon ~]# hostname bogon [root@bogon ~]# vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=bogon
网络管理或检测等相关的工具:
# yum install net-tools traceroute mtr 安装网络工具包
# ping [option] ip :测试网络连通性,ICMP协议
-c n :次数 ,例# ping -c 3 192.168.4.1
-t n : 测试的执行时长,等待n秒未响应就退出
# traceroute HOST (首先安装traceroute rpm包)检测路由路径
# mtr HOST (首先安装mtr rpm包) 网络诊断工具
# netstat 显示网络连接
-t :显示tcp连接
-u:显示udp连接
-n:数字格式显示
-l:显示listening监听状态网络
-a:显示所有
-p:显示连接进程
-r:显示路由表
常用组合:
-tan
-tunl
-rn
# ss命令选项与netstat选项类似
-t :显示tcp连接
-u:显示udp连接
-n:数字格式显示
-l:显示listening监听状态网络
-a:显示所有
-p:显示连接进程
-e:显示扩展信息
-o state {established}
# ethtool 查询或控制网络硬件
Interface :显示设备接口属性 例: # ethtool eth0
-S Interface : 显示设备接口的统计数据 例; # ethtool -S eth0
本章blog知识点汇总
网络配置命令:
# ifconfig (#ip addr ,#ip link)显示所有活动网口的状态信息
# ifconfig interface address netmask 为某些接口配置多个ip地址
# route -n 以数字形式显示路由条目
# route add [-host|-net] IP/Mask gw Next_hop dev Device 配置主机或网络路由
# route add [-host|-net] IP/Mask 删除主机或路由条目
# ip link set [dev] NAME [up |down] [multicast on | multicast off] 设置网络接口状态
# ip addr add dev Interface Address label ethx:y 某接口配置多个ip地址
# ip addr del dev Interface Address 删除某接口ip地址
# ip addr flush Interface 清除接口ip地址信息
# ip route add DESTNATION [via Next_hop] [dev DEVICE] 配置路由
# ip route del DESTNATION 删除路由条目
# ip [route | addr | link ] show 显示路由或网络接口信息
启用接口命令:# ifconfig eth0 up ;# ip link set eth0 up ; # ifup eth0
禁用接口命令:# ifconfig eth0 down ;# ip link set eth0 down ;# ifdown eth0
DNS配置文件: /etc/resolv.conf
hostname 配置文件: /etc/hostname 或者 /etc/sysconfig/network
服务脚本目录: /etc/init.d/ 或者 /etc/rc.d/init.d/
控制运行在后台守护进程,接受参数 {start|stop|restart|status}
脚本位置: /etc/rc.d/init.d/ 或者 /etc/init.d/
配置某服务开机自动启动:# chkconfig Src_script_name on
禁止开机自动启动:# chkconfig Src_script_name off
查看开机启动的进程: # chkconfig --list
网络配置文件有两类(目录:/etc/sysconfig/network-scripts/)
配置网络地址文件: /etc/sysconfig/network-scripts/ifcfg-ethx ;/etc/sysconfig/network-scripts/ifcfg-pppx
配置路由文件:/etc/sysconfig/network-scripts/route-ethx;/etc/sysconfig/network-scripts/route-pppx
# yum install net-tools traceroute mtr 安装网络工具包
# ping [option] ip :测试网络连通性,ICMP协议
-c n :次数 ,例# ping -c 3 192.168.4.1
-t n : 测试的执行时长,等待n秒未响应就退出
# traceroute HOST (首先安装traceroute rpm包)检测路由路径
# mtr HOST (首先安装mtr rpm包) 网络诊断工具
# netstat 显示网络连接
常用选项: -tunl ,-tan,-rn
# ethtool 查询或控制网络硬件
Interface :显示设备接口属性 例: # ethtool eth0
-S Interface : 显示设备接口的统计数据 例; # ethtool -S eth0