Linux网络总结

1.注意:

a. 交换机可以隔离冲突,但是不能隔离广播,路由器可以隔离广播。

b.linux中IP地址是属于内核的,而非网卡,网卡只是IP地址的一种表现形式。因此这也是为什么我们通过命令配置的IP信息可以马上生效,重启后又无效的原因。而当我们把网络配置信息写入配置文件中时,Linux在启动后会读取配置文件,因此次系统重启后仍然是有效的。


2.网络划分

A:1-126
126个网络
每个网络中的主机:2^24-2
B:128-191
2^14个网络
每个网络中的主机:2^16-2
C:192-223
2^21个网络
每个网络中的主机:2^8-2


3.被划分用于私网传输的IP地址(地址段)

A类:
1个:10.0.0.0/255.0.0.0

B类:
16个:172.16.0.0/255.255.0.0-172.31.0.0/255.255.0.0

C类:
256个:192.168.0.0/255.255.255.0-192.168.255.0/255.255.255.0


注:127.0.0.1被用于本地回环测试,其实只要回环地址开启,只要是127开头的有效IP地址都是可以ping通的。


4.TCP/IP协议


物理层:介质的传输

链路层:MAC 从设备到设备主机通信,MAC地址,IP<-->MAC (ARP/RARP)

网络层:从源主机到目标主机之间通信,IP地址,IP报文

传输层:从源主机进程到目标主机特定进程之间通信,TCP/UDP

应用层:端口号


TCP:有连接协议,建立逻辑连接
SYN, ACK, FIN, RST, PSH, URG

三次握手:
SYN=1, ACK=0, FIN=0
SYN=1, ACK=1, FIN=0
SYN=0, ACK=1, FIN=0

四次断开:

有限状态机:


5.linux网络配置命令

ifconfig: (ip addr, ip link)
ifconfig: 显示所有活动接口的相关信息
ifconfig Interface: 仅显示指定接口的相关信息
ifconfig Interface Address
ip/mask:
长格式:255.255.0.0
ifconfig Interface IP netmask MASK
CIDR:16
ifconfig Interface IP/MASK


route: (ip route)
route: 显示路由信息
-n: 使用数字格式显示,不反解地址到主机名


route add 
-host HOST_IP gw Next_Hop [dev Device]
-net Net_ADDR 


-net 0.0.0.0: 目标地址为任意地址


目标:192.168.0.0/24
下一跳:172.16.0.1
route add -net 192.168.0.0/24 gw 172.16.0.1

目标:192.168.1.10
下一跳:172.16.100.177
route add -host 192.168.1.10 gw 172.16.100.177

route del 
-host HOST_IP (route del -host 192.168.1.10)

-net Net_ADDR(route del -net 192.168.0.0/24)


DSN服务器指向:
配置文件:/etc/resolv.conf
最多三个(需要注意的是,只有当DNS1无效时才会使用第二个DNS,如果DNS1解析不出来,是不会使用第二个DNS的):
nameserver DNS_SERVER_IP


# dig -t A FQDN
正解测试
# dig -x IP
反解测试


6.网络配置文件常用选项(编辑配置文件得到的IP地址是重启后仍然有效的)

DEVICE=eth0
此配置关联至的设备,设备名要与文件名ifcfg-后的内容保持一致;

BOOTPROTO=none
引导协议:{none|static|dhcp|bootp}

HWADDR=00:0c:29:96:c5:24
MAC地址:要与真实MAC地址保持一致;可省略;

NM_CONTROLLED=yes
是否接受NetworkManager脚本控制;{yes|no}

ONBOOT=yes
是否关机自动启用此网络设备, {yes|no}

TYPE=Ethernet
设备类型:如Ethernet, Bridge

UUID="2d2225e7-13bf-4764-a9f1-5ccccbaf36a6"
惟一标识,可省略;

IPADDR=172.16.100.7
IP地址

NETMASK=255.255.0.0
掩码

GATEWAY=172.16.0.1
默认网关

DNS1=172.16.0.1
DNS服务地址

IPV6INIT=no
是否自动初始化IPv6协议地址;

USERCTL=no
是否允许普通用户启用或禁用此网络设备;

PEERDNS={yes|no}
是否允许DHCP服务分配地址时直接更新/etc/resolv.conf中的DNS服务器地址;


7.配置路由(通过文件配置,重启后依然有效)

路由的配置文件默认是不存在的,因为需要手动创建,名称——route-ethX。

比如现在手动配置一条路由条目:
route add -net 192.168.0.0/24 gw 172.16.100.177
使用文件配置,则需要在该文件中添加如下一行:

192.168.0.0/24via 172.16.100.177

配置文件的格式1:每行一个要配置的路由条目
DEST viaNEXT_HOP 比如:
192.168.10.0/24 via 172.16.0.1(添加网络路由条目)
192.168.10.88 via 172.16.0.1(添加主机路由条目)
0.0.0.0 via 172.16.0.1(添加默认路由)


配置文件的格式2:每一组一个路由条目

ADDRESS#=Dest
NETMASK#=Netmask
GATEWAY#=Gateway

例子:分别添加192.168.0.0/24通过网关172.16.100.177,以及添加主机地址192.168.1.10通过172.16.100.77进行访问

ADDRESS0=192.168.0.0
NETMASK0=255.255.255.0
GATEWAY0=172.16.100.177

ADDRESS1=192.168.1.10
NETMASK1=255.255.255.255
GATEWAY1=172.16.100.77


8.通过网络接口别名来实现单接口上配置多个IP地址,当然直接通过命令配置会立即生效,但是重启无效。如果需要重启有效的话,则需要手动添加网络别名配置文件。文件位置和真实物理网络相同,只不过名字就要改成ifcfg-ethX:Y
eth0,
eth0:X: eth0:0, eth0:1, ....

配置1:
ifconfig ethX:Y IP/mask

配置2:(这种配置方式永久有效)非主地址不支持使用DHCP协议获取
ifcfg-ethX:Y
DEVICE=ethX:Y
BOOTPROTO={none|static}(此处只能使用none或者static)
IPADDR=
NETMASK=
ONBOOT=
USERCTL=


9.ip命令的使用:
ip link
ip link show [Interface]
ip link set Interface [up|down] [multicast on|off]

ip addr:
可以在一个接口配置多个地址而不使用接口别名;显示这些地址
ip addr show

ip addr add dev Interface Address [label Interface_alias]
ip addr del dev Interface Address

ip addr show Interface
ip addr flush Interface [to Net_Address] 可以删除指定网络地址,也可以删除指定的主机地址
eg:我要删除172.16.0.245-172.16.20.55 只需要这样指定即可:ip addr flush eth0 172.16.0.0/16
eg: 我要删除单个IP地址:172.16.100.10 只需要这样指定即可:ip addr flush eth0 172.16.100.10

ip route
ip route add DESTINATION [via NEXT_HOP] [src SOURCE_ADDRESS] [dev DEVICE]
ip route del DESTINATION
ip route show

192.168.0.0/24, 172.16.0.1

启用/禁用接口:
ip link set Interface up|down

ifconfig Interface up|down

ifdown Interface, ifup Interface: 
重置网络连接;


10.通过TUI或GUI配置网络:
system-config-network-tui
配置结束后将保存配置文件中

setup --> Network Configuration

11.网络管理或监测等相关的工具:
ping: ICMP
ping [options] IP
-c #(count)指定ping的次数
-w deadline(waittime等待时长): 测试执行时长

traceroute HOST:
获取从当前主机到达目标主机所有经过的网关

mtr HOST

netstat:
-t: tcp协议的连接,且正在使用的连接,如established何timewait等
-u: udp协议的连接
-l: 仅监听状态的连接
-a: 所有状态的连接(包括监听状态listen和established以及timewait等等)
-p: 连接相关的进程
-n: 数字格式显示
-r: 显示路由表,类似于route或ip route show

常用组合:
netstat -tan
netstat -tunl
netstat -rn

ss: 
-t: tcp
-u: udp
-a: 相关协议的所有连接
-l:监听状态的套接安
-e: 显示扩展信息
-m: 显示套接连接使用的内存信息
-p: 进程及PID
-n: 数字格式地址及端口
-o state {established}

ethtool Interface: 显示设备接口属性
ethtool -S Interface: 显示设备接口的统计数据

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值