Linux基础教程之网络基础知识与Linux网络配置
本文主要内容是:
1.讲述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。
2、IP地址的分类有哪些?子网掩码的表示形式及其作用
3、计算机网络的分成模型有哪些(OSI模型和TCP/IP模型),每一层的功能及涉及到的物理设备有哪些。
4、如何给网络接口配置多个地址,有哪些方式?
5、常用的网络管理类工具有哪些,并用示例形式描述他们的使用方法。
6.为Linux主机配置网络信息的方式有哪些,请描述各个过程,并详细描述每个网络接口的配置文件中各个参数的含义和其所对应的值;如何将Linux主机接入到TCP/IP网络,请描述详细的步骤。(手动指定的方式)
1.网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。
网桥:用来了连接两个不同局域网的网络设备,其两个端口分别使用独立的通信信道,属于数据链路层设备 |
集线器:用来放大信号,从而使得数据能够被更远距离的传输,属于物理层设备 |
二层交换机:工作于数据链路层,对数据转发时根据其存储的MAC表进行转发 |
三层交换机:所谓的三层交换机就是工作于网络层,具有一定路由功能的交换机,其加快了局域网内部的路由转发,能够实现一次路由,多次转发。 |
路由器:路由器是网络的核心设备,其根据ip地址进行路径的选择,属于网络层设备。 |
2、IP地址的分类有哪些?子网掩码的表示形式及其作用
IP地址表示方法有两种,二进制表示法和点分十进制表示法,分为5类,分别是A,B,C,,D,E;A,B,C三类都有固定的地址被定义为私网地址,不会在网络中被路由,两个特殊地址,0.0.0.0代表本机,255.255.255.255代表广播地址。
A类:第一段为网络号,其余三段为主机号
用二进制表示,网络号为:0 0000000 – 1111 1111,主机号任意变化;十进制表示,网络号为:0-127 |
子网掩码:255.0.0.0,也可以表示为/8 |
私网地址:10.0.0.0-10.255.255.254 |
可用地址空间为,网络号:2^8-2=126,每个子网中的主机号:2^24-2
B类:前两端段为网络号,其余两段为主机号
用二进制表示,网络号为:10 000000 – 10 111111,主机号任意变化,十进制表示为:128-191 |
子网掩码:255.255.0.0,也可以表示为/16 |
私网地址:172.16.0.0-172.31.255.254 |
可用地址空间为,网络号:2^14,每个子网中的主机号:2^16-2
C类:前两端段为网络号,其余两段为主机号
用二进制表示,网络号为:110 000000 – 110 11111,主机号任意变化,十进制表示为:192-223 |
子网掩码:255.255.255.0,也可以表示为/24 |
私网地址:192.168.0.0-192.168.255.254 |
可用地址空间为,网络号:2^21,每个子网中的主机号:2^8-2
D类:属于组播地址
用二进制表示为:1110 0000 – 1110 1111 ,十进制表示为:224-239 |
E类:用于科研
3、计算机网络的分成模型有哪些(OSI模型和TCP/IP模型),每一层的功能及涉及到的物理设备有哪些。
将计算机网络分层的好处是使局部对整体的影响降低,当某一层需要变动时,其他层次不用改变,只要保持接口一致就行,另外分层的设计也使得网络排障变得简单,工作机制是下层为上层提供服务,上层调用下层的接口。
OSI参考模型为:
应用层(Application layer):完成进程之间的通信 |
表示层(Presentation layer):将数据处理为通信双方都能识别的数据格式 |
会话层(Session layer):通信链接,保持会话过程通信链接的畅通,同步两个节点之间的对话,决定通信是否被中断以及通信中断时决定从何处重新发送 |
传输层(Transport layer):完成应用进程之间的逻辑通信 |
网络层(Network layer):网络地址翻译成对应的物理地址,并决定如何将数据从发送方路由到接收方网络层 |
数据链路层(Data link layer):在物理线路上进行数据的可靠传递 |
物理层(Physical layer):物理层的协议产生并检测电压以便发送和接收携带数据的信号 |
4.如何给网络接口配置多个地址,有哪些方式?
(1)使用ifconfig来配置
ifconfig interface_alias ip_add |
(2)使用ip来配置
ip addr add ip_addr/mask dev interface_name label interface_alias_name |
5、如何将Linux主机接入到TCP/IP网络,请描述详细的步骤。(手动指定的方式)
要想使Linux主机接入互联网,必须配置IP地址,子网掩码,网关,若要基于主机名称进行通信,则还需要配置DNS服务器的主机地址
配置的方法有:
(1)使用ifconfig来配置
ifconfig eth0 192.168.88.132 netmask 255.255.255.0 |
route add default gw 192.168.88.1 |
(2)centos 6中通过运行setup来设置
步骤为:
a.运行setup,选择Network configuration
b.进入Device configuration
c.选择要配置的接口设备
d.填写参数,然后退出保存
(3)通过ip工具来设置
ip addr add 192.168.88.132/255.255.255.0 dev eth0 |
route add default gw 192.168.88.1 |
(4)修改/etc/sysconfig/network-script/ifcfg-device_name来实现,常用的指令有如下:
6.常用的网络管理类工具有哪些,并用示例形式描述他们的使用方法。
(1)ifconfig:配置网络接口
使用方式:ifconfig [interface_name] [option]
-a:查看所有接口的信息 |
up:将指定接口打开 |
down:将指定接口关闭 |
[-]arp:在指定网卡上禁用或者启用arp协议 |
[-]promisc:将指定网卡禁用或启用混杂模式 |
ifconfig interface_name ip_addr netmask net_mask:设置接口的地址 |
(2)route:查看或者管理路由表
查看本机路由表:
route -n |
添加路由:
路由条目有三种:
主机路由:到达某个主机的路由
网络路由:到达某个网络的路由
默认路由:到达任意网络的路由
route add [-net|-host] target_addr [netmask net_mask] [gw gateway_ip] [dev [interface_name]] |
使用示例,添加到192.56.76.0的路由条目:route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 |
删除路由:
route del [-net|-host] target_addr [netmask net_mask] [gw gateway_ip] [dev[interface_name]] |
使用示例,,删除到192.56.76.0的路由条目:route del -net 192.56.76.0 netmask 255.255.255.0 dev eth0 |
(3)ip:查看,管理网络接口信息以及路由信息
使用方式:ip [ OPTIONS ] OBJECT { COMMAND | help }
其中OBJECT常用的有如下几个:
link:配置网络接口
ip link set dev device_name {up|down}:将指定的设备开启或关闭 |
ip link set dev device_name multicast {on|off}:启用或者禁用指定设备的多播功能 |
ip link set dev device_name name new_name:对指定的设备进行重命名 |
ip link set dev device_name mtu mtu_number:设置指定设备的MTU大小 |
ip link set dev device_name {up|down} |
ip link show:查看所有设备的属性 |
ip link help:查看帮助 |
address:协议地址管理
ip addr add interfce_addr dev interface_name label alias_name:为额外添加的地址指明接口别名
使用示例: ip addr add 192.168.1.111/24 dev eth0 label eth0:0 |
ip addr del interfce_addr dev interface_name:删除指定接口上的地址 |
ip addr show:查看所有接口的配置信息 |
ip addr flush dev interface_name:刷新配置 |
route:路由表管理
ip route add ip_addr/netmask via gateway_addr [dev intetface_name] [srcsource_ip]:添加路由条目
使用示例,添加一条到192.168.0.1/24的路由条目:ip route add 192.168.1.0/24 via 172.16.1.1 dev eth0 |
ip route del ip_addr/netmask:删除路由条目
使用示例,删除到达192.168.1.0/24的路由条目:ip route del 192.168.1.0/24 |
ip route show :列出当前系统的路由信息 |
ip route get ip_addr/netmask
使用示例,查看到达192.168.1.0/24的路由信息:ip route get 192.168.1.0/24 |
(4)netstat:查看网络连接状态
使用方式:netstat [option]
-t,–tcp:查看跟tcp协议相关的连接 |
-u, –udp:查看跟udp协议相关的连接 |
-l:查看处于监听状态的连接 |
-a:查看所有状态下的连接 |
-n:以数字的格式显示ip和端口号 |
-p:显示与连接相关的进程的ID |
-i:显示所有接口的数据统计 |
(5)ss:查看建立的连接情况以及状态统计信息
使用格式:ss [option] [filter]
常用选项:
-t:所建立的tcp连接 |
-u:所建立的udp连接 |
-n:数字格式显示ip和端口号 |
-l:查看已经处于监听状态的连接 |
-p:显示相关进程的pid |
-m:各个连接所占用的内存信息 |
-a:查看所有状态的信息 |
filter:根据TCP的状态和端口号来实现:
state <TCP_FSM>:
LISTEN:监听 |
ESTABLISEHD:建立的连接 |
FIN_WAIT_1:主动断开一方发送关闭信号,在收到另一方确认的这段时间 |
FIN_WAIT_2:主动断开的一方收到被动断开的一方的信号到被动断开一方也发送 |
SYN_SENT:建立连接时客户端发送连接请求到收到服务端回应的这个时间段 |
SYN_RECV:服务器端收到客户端的同步信号,但还没建立连接的这个时间段 |
CLOSED:连接已经关闭 |
使用示例:
查看处于已建立连接状态的连接: ss -tan state ESTABLISHED |
基于端口进行过滤:
dport =:<port>:根据目标端口进程过滤 |
sport =:<port>根据源端口进行过滤 |
使用示例:
ss -tan '( dport = :80 or sport = :80 )' |