##############网络知识#############
一台主机如果可以连接公网,比如访问www.baidu.com那么这台主机必然会有
ipaddress:ip地址
GATEWAY:网关
DNS:域名系统   

############ipaddress##############
1.tcp/ip:这是一个协议族,包括tcp协议,ip协议,imcp协议,http协议,ftp协议等等

2.
ip地址通常是一个32bit的数字,也就是常用的ipv4标准,ip地址是网络地址+主机地址
ipv4:ip协议的4版本号,简称ipv4,它的下一个版本就是ipv6
ip地址有四类:A类、B类、C类、D类(1字节=8位)
1)
A类地址:第一个字节是网络地址,其它三个字节是主机地址,第一个字节最高位固定为0
A类地址范围:1.0.0.0~126.255.255.255
A类地址中的保留地址:127.0.0.0~127.255.255.255,用做循环测试使用。
A类私有地址:10.0.0.0~10.255.255.255
(私有地址:在局域网中使用的地址;公网地址:在Internet中使用的地址)
2)
B类地址:第一个字节和第二个自己是网络地址,其它两个是主机地址,第一个字节最高位固定为10
B类地址范围:128.0.0.0~191.255.255.255
B类中保留地址:169.254.0.0~169.254.255.255
B类私有地址:172.16.0.0~172.31.255.255
3)
C类地址:第一个、第二个、第三个字节是网络地址,第四个字节位主机地址,第一个字节最高位固定为100
C类地址范围:192.0.0.0~223.255.255.255
C类私有地址:192.168.0.0~192.168.255.255

3.
子网掩码:是一个32bit的二进制数字序列。子网掩码的非零位对应网络地址,零对应主机地址
eg:C类地址对应子网掩码255.255.255.0的二进制形式:
11111111.11111111.11111111.00000000

##############ip设定###############
1.命令配置方式
ifconfig                ###查看或者临时设定主机ip的工具
ifconfig 网络接口            ###查看这个接口上的 ip
ifconfig 网络接口 ip netmask 子网掩码    ###临时设定ip
ifconfig eth0 172.25.254.100 netmask 255.255.255.0    ###添加一个ip地址
ifconfig eth0 down        ###禁用网卡
ifconfig eth0 up        ###启用网卡

ip    ##网络配置工具,能够代替传统的网络管理配置工具,如ifconfig、route等
ip addr show    ##查看主机ip信息
ip addr add 172.25.8.10/24 dev eth0    ###添加一个ip地址
ip addr del 172.25.8.10/24 dev eth0    ###删除一个ip地址

systemctl restart network      ###重新启动网络服务
systemctl restart NetworkManager  ###管理和监控网络设置的守护进程(记录网卡工作,如:wifi下次不用再用密码登录)

nmtui     ##命令打开文本中的网络设定工具

nmcli       ##命令设定ip的方式
nmcli connection add con-name westos ifname eth0 type ethernet autoconnect yes    ###添加动态网络
nmcli connection add con-name westos ifname eth0 type ethernet ip4 ip/24 gw4 ip   ###添加静态网络
(add是添加,con-name是连接名,ifname是接口名,type是设备类型,ip4和gw4是ipv4地址和网关,更改刷新之后还在)
nmcli connection delete    连接名称         ##删除此连接
nmcli connection show              ##显示所有连接
nmcli connection show "System eth0"  ##显示网络连接详细配置
nmcli connection modify "System westos1"  ipv4.addresses 172.25.8.9/24  ##修改设备名为westos1的ip地址为172.25.8.9/24
nmcli connection modify "System westos1"  ipv4.dns 172.25.254.1        ##修改设备名为westos1的dns为172.25.254.1
nmcli connection modify "System westos1" ipv4.method auto        ##修该配置方式为自动
nmcli connection modify "System westos1" ipv4.method manual        ##修该配置方式为手动
nmcli connection up   "System westos1"    ##激活
nmcli connection down "System westos1"    ##关闭
nmcli device status    ##显示设备状态
nmcli device show    ##显示设备详细内容

2.图形网络配置方式
nm-connection-editor        ##图形中的网络设定工具(出现窗口)

3.网络配置文件
/etc/sysconfig/network-scripts/        ###网络配置目录
(可以直接进入编辑 vim /etc/sysconfig/network-scripts/ifcfg-eth0)

###动态网络配置###
vim ifcfg-xxx(设备)            ###网络配置文件格式
DEVICE=eth0                ##指定文件管理的设备名称
BOOTPROTO=dhcp                ##dhcp动态获取
ONBOOT=yes                ##开机时自动激活设备
NAME=westos                ##指定网络链接的名字为westos

###静态网络配置###
vim ifcfg-xxx(设备)            ###网络配置文件格式
DEVICE=eth0                ##指定文件管理的设备名称
BOOTPROTO=none或static            ##none和static都表示静态网络
ONBOOT=yes                ##开机时自动激活设备
NAME=westos                ##指定网络链接的名字为westos
IPADDR=172.25.8.10
NETMASK=255.255.255.0或PREFIX=24        ##子网掩码是255.255.255.0

小结:命令配置的信息,重启都会清除,想永久生效,在网络配置文件中修改。


####################网关gateway##################
网关:gateway,又称网间连接器、协议转换器。
网关是在采用不同体系结构或协议的网络之间互通时,用于提供协议转换,路由选择,数据交换等网络兼容功能的设施。
【网关也可理解为就是路由器上和我们的主机处在同一个网段上的ip 或 路由器的LAN接口的ip地址】

vim /etc/sysconfig/network-scripts/ifcfg-xxx
GATEWAY=网关地址

eg:vim /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY=172.25.254.254

route        ##该命令可查看和操作ip路由表
    -c    ##显示更多信息
    -n    ##不解析名字
    -v    ##显示详细的处理信息
    -F    ##显示发送信息
    -C    ##显示路由缓存
    -f    ##清楚所有网关入口的路由表
    -p    ##与add一起用时路由具有永久性
    add    ##添加一条新路由
    del    ##删除一条路由
    -net    ##目标地址时网络
    -host    ##目标地址时主机
    netmask    ##担负添加一个网络路由时,需要使用网络掩码
    gw    ##路由数据包通过网关
eg:
route -n     ##显示当前路由
route add -net 192.168.62.0 netmask 255.255.255.0 dev eth0  ##添加一条到192.168.62.0的网关    
route add -net 192.168.62.0 netmask 255.255.255.0 reject    ##增加一条屏蔽路由
route del -net 224.0.0.0 netmask 240.0.0.0       ##删除路由记录
route add default gw 192.168.120.240    ##添加默认网关
route del default gw 192.168.120.240    ##删除默认网关

route命令输出内容解释:
Destination:目标网段或主机
Gateway:网关地址,*表示目标是本主机所属的网络
Gatemask:网络掩码
Flags:标记,如下:

        U表示路由活动情况
        H表示目标是一个主机
        G表示路由指向网关
        R表示恢复动态路由产生的表项
        D表示由路由的后台程序动态安装
        M表示由路由的后台程序修改
        !表示拒绝路由
Metric:路由距离,到达指定网络的中转数
Ref:路由项引用次数
Use:路由项被路由软件查询的次数
Iface:路由表项的输出接口


####################DNS####################
1.DNS域名系统:是一个分布式数据库,进行域名解析,它提供将域名转换成ip地址的服务

2.ip映射文件    
/etc/hosts
ip    主机名称

3.DNS服务器的指向文件
vim /etc/resolv.conf    #DNS的配置文件,用于获取DNS服务器的地址

nameserver 172.25.254.254     ##指定DNS服务器的ip地址
vim /etc/sysconfig/network-scripts/ifcfg-xxx
DNS=172.25.254.254
systemctl stop NetworkManager.service

PEERDNS=yes|no    ###在ifcfg-eth0中修改,配置文件是否会修改/etc/resolv.conf,no表示不修改
ifcfg-eth0中配置为DHCP模式,在则系统默认PEERDNS=yes,则系统会修改resolv.conf


################网络端口的检测#######################
netstat        ##网络端口监测命令
           -a     ##所有
           -n    ##不做解析
            -t    ##tcp协议
            -u    ##udp协议
            -l    ##listen,当前活跃端口
            -e    ##显示端口的详细信息

/etc/service    ##系统服务默认使用端口信息文件