Linux学习-网络学习

Posted 丢爸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux学习-网络学习相关的知识,希望对你有一定的参考价值。

IP地址

A类
0 000 0000 - 0 111 1111:1-127
网络数:126
每个网络中的主机数:2^24-2
默认子网掩码:255.0.0.0
私网地址:10.0.0.0/8
B类
10 00 0000 - 10 11 1111:128-191
网络数:2^14
每个网络中的主机数:2^16-2
默认子网掩码:255.255.0.0
私网地址:172.16.0.0/16 - 172.31.0.0/16
C类
110 0 0000 - 110 1 1111:192-223
网络数:2^21
每个网络中的主机数:2^8-2
默认子网掩码:255.255.255.0
私网地址:192.168.0.0/24 - 192.168.255.0/24
D类(组播)
1110 0000 - 1110 1111:224-239
E类(剩余E类240-255)

常识

#跨网络通信:需要使用路由
# - 主机路由
# - 网络路由
# - 默认路由
路由选择:基于最佳匹配原则

#将Linux主机接入网络中
# 1. IP/MASK
# 2. 路由,默认网关
# 3. DNS服务器---主DNS服务器,次DNS服务器,第三DNS服务器
# 4. 主机名

#-------IP地址配置
#---静态分配
  - ifcfg:ifconfig,route,netstat
  - ip:link,addr,route,ss
  - 配置文件:system-config-network-tui(setup)
  CentOS7:
   nmcli,nmtui
ifcfg命令配置
#-- 查看本机的活动网络接口配置
[root@nginx01 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.88.101  netmask 255.255.255.0  broadcast 192.168.88.255
        inet6 fe80::b28c:edf9:5114:7241  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:fe:89:39  txqueuelen 1000  (Ethernet)
        RX packets 203  bytes 19376 (18.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 195  bytes 50335 (49.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
#-- 查看本机所有的网络接口配置
[root@nginx01 ~]# ifconfig -a
#-- 显示单个接口网络信息【ifconfig interface】
[root@nginx01 ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.88.101  netmask 255.255.255.0  broadcast 192.168.88.255
        inet6 fe80::b28c:edf9:5114:7241  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:fe:89:39  txqueuelen 1000  (Ethernet)
        RX packets 199  bytes 18822 (18.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 200  bytes 36528 (35.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
# ifconfig interface IP/MASK [up|down]
# ifconfig interface IP netmask MASK [up|down]
# 给指定接口添加地址
[root@nginx01 ~]# ifconfig ens33:0 172.16.1.3/24
[root@nginx01 ~]# ifconfig ens33:0 172.16.1.3 netmask 255.255.255.0
# 启用混杂模式:[-]promisc
#---静态分配
#------------route路由管理命令
#查看路由
[root@nginx01 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
#默认网络路由条目
0.0.0.0         192.168.88.2    0.0.0.0         UG    100    0        0 ens33
#本地网络路由条目
192.168.88.0    0.0.0.0         255.255.255.0   U     100    0        0 ens3
#------添加路由
#---------------------------------------------------route add
route add [-net|-host] target [netmask Nm][gw Gw][[dev] If]
#本地网关必须与当前主机位于同一网络内
#-----添加主机路由
[root@nginx01 ~]# route add -host 172.16.1.3 gw 192.168.88.2 dev ens33
#-----添加网络路由
[root@nginx01 ~]# route add -net 172.16.1.0 netmask 255.255.255.0 gw 192.168.88.2 dev ens33
[root@nginx01 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.88.2    0.0.0.0         UG    100    0        0 ens33
172.16.1.0      192.168.88.2    255.255.255.0   UG    0      0        0 ens33
172.16.1.0      0.0.0.0         255.255.255.0   U     0      0        0 ens33
172.16.1.3      192.168.88.2    255.255.255.255 UGH   0      0        0 ens33
192.168.88.0    0.0.0.0         255.255.255.0   U     100    0        0 ens3
# 注:Flags标志位上U表示up,G表示gateway网关,H表示host主机路由
#-----添加默认网关
[root@nginx01 ~]# route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.88.2
[root@nginx01 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.88.2    0.0.0.0         UG    0      0        0 ens3
[root@nginx01 ~]# route add default gw 192.168.88.2
[root@nginx01 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.88.2    0.0.0.0         UG    0      0        0 ens3
#---------------------------------------------------route add
#---------------------------------------------------route del
#删除主机路由
[root@nginx01 ~]# route del -host 172.16.1.3
# 网关地址 0.0.0.0 表示直连规则,当前记录对应的 Destination 跟本机在同一个网段,通信时不需要经过网关(路由器)。使用二层交换机通过MAC即可通信
[root@nginx01 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.88.2    0.0.0.0         UG    100    0        0 ens33
192.168.88.0    0.0.0.0         255.255.255.0   U     0      0        0 ens33
# 删除默认路由
[root@nginx01 ~]# route del default
#---------------------------------------------------route del
#------------route路由管理命令
#------------DNS服务器指定
#在/etc/resolv.conf中可以指定3个
[root@nginx01 ~]# vim /etc/resolv.conf
nameserver 8.8.8.8
#FQDN(fully qualified domain name)完全限定域名
正解:FQDN-->IP
dig -t A FQDN
	[root@nginx01 ~]# dig -t A www.baidu.com
	; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.9 <<>> -t A www.baidu.com
	;; global options: +cmd
	;; Got answer:
	;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56539
	;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1
	
	;; OPT PSEUDOSECTION:
	; EDNS: version: 0, flags:; udp: 512
	;; QUESTION SECTION:
	;www.baidu.com.			IN	A
	
	;; ANSWER SECTION:
	www.baidu.com.		272	IN	CNAME	www.a.shifen.com.
	www.a.shifen.com.	208	IN	CNAME	www.wshifen.com.
	www.wshifen.com.	115	IN	A	103.235.46.39
	
	;; Query time: 70 msec
	;; SERVER: 8.8.8.8#53(8.8.8.8)
	;; WHEN: Thu May 26 22:51:07 CST 2022
	;; MSG SIZE  rcvd: 111

	[root@nginx01 ~]# host -t A www.baidu.com
	www.baidu.com is an alias for www.a.shifen.com.
	www.a.shifen.com is an alias for www.wshifen.com.
	www.wshifen.com has address 103.235.46.39
反解:IP-->FQDN
dig -x IP
#------------DNS服务器指定
#---动态分配(DHCP)
DHCP(Dynamic Host Configuration Protocol)动态主机配置协议
#---动态分配(DHCP)
#-------IP地址配置
#netstat-显示网络连接,路由表,接口分析
netstat     [address_family_options]      [--tcp|-t]      [--udp|-u]
       [--udplite|-U]  [--sctp|-S]  [--raw|-w]  [--listening|-l] [--all|-a]
       [--numeric|-n] [--numeric-hosts] [--numeric-ports] [--numeric-users]
       [--symbolic|-N]   [--extend|-e[--extend|-e]]  [--timers|-o]  [--pro‐
       gram|-p] [--verbose|-v] [--continuous|-c] [--wide|-W] [delay]
# -l:处于监听状态的连接
# -t:TCP协议相关连接
# -u:UDP协议相关连接
# -w: raw socket相关
# -a:所有状态
# -n:以数字形式显示IP和端口
# -e: 扩展格式显示信息
# -p:显示相关进程及PID
# 常用组合 -tan,-uan,-tnl,-unl
# netstat-显示路由表
netstat --route|-r  [--numeric|-n]
# -r:显示内核路由表
# -n:数字格式显示
# netstat-显示接口统计信息
netstat --interfaces|-I|-i [--all|-a] [--extend|-e] [--verbose|-v]
       [--program|-p]  [--numeric|-n] 
# 显示指定接口的统计信息
[root@nginx01 ~]# netstat -Iens33
Kernel Interface table
Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33            1500      466      0      0 0           368      0      0      0 BMRU
#显示所有接口统计数据
[root@nginx01 ~]# netstat -i
Kernel Interface table
Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
ens33            1500      489      0      0 0           381      0      0      0 BMRU
lo              65536        0      0      0 0             0      0      0      0 LRU

#显示已建立的TCP连接
[root@nginx01 ~]# netstat -tn
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0     52 192.168.88.101:22       192.168.88.1:50688      ESTABLISHED
#显示已建立的UDP连接
[root@nginx01 ~]# netstat -un
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State 
#显示所有TCP连接
[root@nginx01 ~]# netstat -tan
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0     52 192.168.88.101:22       192.168.88.1:50688      ESTABLISHED
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN 
#显示所有UDP连接
[root@nginx01 ~]# netstat -uan
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
udp        0      0 127.0.0.1:323           0.0.0.0:*                          
udp6       0      0 ::1:323                 :::*     
#查看路由连接
[root@nginx01 ~]# netstat --route

以上是关于Linux学习-网络学习的主要内容,如果未能解决你的问题,请参考以下文章

Linux安装命令

linux命令学习

LInux学习--分区

LINUX学习

神经网络不学习 - MNIST 数据 - 手写识别

Linux 学习基础入门之Linux分区