Linux-网络相关知识

 

网络

网络基础知识
ipv4:4段 32位
网络位+主机位
网段:
主机:
A 
网络位为8位
主机位为24位
第一位不可以变
0 0000001
0 1111111
1-126
127 有特殊用途,回环地址
可用网段数:2^7 -1
每一个网段有多少可用主机:2^24-2
有两个是不可以用:
主机位全为0,表示一个网段
主机位全为1,表示网段里面的广播地址
私有地址:自己可以用的
子网掩码:255.0.0.0
10 段
共有地址: 都可以访问的地址
1.1.1.1/8
00000001.0.0.0
11111111.0.0.0
1.0.0.0

B
16位网络位
16位为主机位
10 000000 00000000
10 111111 11111111
128
191
可用网段:2^14
每个网段有多少可用主机:2^16-2
私有地址:
172.16-172.31
子网掩码:255.255.0.0

C
前24位为网络位
后8位为主机位
110 00000 000000000 00000000
110 11111 11111111 11111111
192
223
可用网段:2^21
每个网段有多少可用机器:2^8-2
私有地址:
192.168.0 -192.168.255
子网掩码 255.255.255.0

D
作为多播地址
1110 0000
1110 1111
224
239

E
作为科研使用
CIDR(无类域间路由)
网络位向主机位借位
16 +5
21位网络位 11个 2^11 2046
255.255.11111000.0
255.255.248.0
网络位向主机位借位:
24+6 30
2^2 -2
子网掩码
网络位全为1,主机位全为0
ip地址和子网掩码来确定属于那个网段

 

按位与 :只要有0就是0,全部为1,才是1

```
1&0 0
2&3 2
```

按位或:只要有1就是1,全部为0,才是0

```
1|0 1
2|3 3 
```

异或:相同为0,不同为1

```
1^0 1
2^3 1
3^5 6
```

取反:-(n+1)

```
~2 -3
~-4 3
```

左移:n*2的左移次方

```
2<<2 8
10<<3 80
```

右移:n/2的右移次方(向下取整,不是四舍五入)

```
12>>2 3
13>>2 3
50>>2 12
2>>2 0
```
10.20.43.65/10

网段

```
10.20.43.65
00001010.00010100.
11111111.11000000
10.0.0.0
```

网络配置

1 - 手动
2 - ip
3 - 配置文件
4 - 自动分配
5 - dhcp

ip

- 增加ip地址
ip a add 192.168.21.23/24 dev ens33

- 删除 ip
ip a del 192.168.21.23/24 dev ens33

- 增加ip地址并增加别名
ip a add 192.168.21.23/24 dev ens33 label ens33:0

- 删除
ip a del 192.168.21.23/24 dev ens33 label ens33:0

网卡配置文件

- 配置文件 /etc/sysconfig/network-scripts/ifcfg-name

```
TYPE="Ethernet" # 网卡的接口类型
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp" # 获取ip地址的方式,可以是dhcp,static,none
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33" # 网卡名称
UUID="c252096f-57e0-41bd-a1d9-5158a86f9ba1" # 设备唯一标识码
DEVICE="ens33" 
ONBOOT="yes" #开机是否启动
HWADDR="" #mac地址
IPADDR=ip地址
NTEMASK=子网掩码
GATEWAY=网关
```

DNS配置文件

- /etc/reslov.conf

```
nameserver 192.168.21.2
```

主机名

- 获取主机名 hostname
- 设置主机名 hostname name
- 配置文件
    - /etc/hostname centos7
    - /etc/sysconfig/network centos6
- 永久生效
    - hostnamectl set-hostname s22
  - 修改配置文件

ss、netstat

ss命令用来打印linux系统中网络的状态信息,可以让管理员更好的了解网络情况

```
-a 所有
-l 监听中的
-t tcp
-u udp
-x unix socket文件
-p 相关的程序
-n 显示服务的端口号
常用组合 -anlp -tnlp -unlp
* ipv4 0.0.0.0 表示当前主机上的所有ip地址
:: ipv6 所有地址
```

解析

- 本地解析 /etc/hosts
- dns解析
- 根节点 总共13组

wget

用来下载网络资源

```
-q 静默模式
-c 断点续传
-O filename 另存为的名称
-P 保存到指定的目录
-r 递归下载
-p 下载所有的html文件
```

systemctl

管理服务 service
start name ... 启动服务
stop name ... 关闭服务
reload name 重读配置文件 平滑重启
restart name 重启服务
status name 查看状态
enable name 开机自启动
disabled name 关闭开机自启动
systemctl list-unit-files |grep sshd 查看服务是否开机自启动

centos6
service 动作 服务
chkconfig 用来管理服务的开机启动

计划任务(定时任务)

```
/etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
22 * * * * * root touch b.txt 每天的每小时的第22分钟做什么事
25 15 * * * root touch /tmp/c.txt 每天下午的三点25分
27 15,16,17 * * * root touch /tmp/d.txt 每天的15点,16点,17点的第27分钟
28 15-19 * * * root touch /tmp/e.txt 表示 每天的15点到19点的28分钟
30 10-20/5 * * * root touch /tmp/f.txt 每天的10点到20点每个5小时
*/7 * * * * root touch /tmp/f.txt 从0开始重新结算
37 * 10,20,30 * 4 echo $(date) >> /tmp/g.txt 表示每个月的10,20,30或者每周的周四
建议:
分钟不要写成*
分钟不要写成*
分钟不要写成*
```

crontab 命令

```
-e 编辑
-u 指定用户,如果不写,默认为当前用户
-l 列出当前用户的计划任务
-r 删除用户的计划任务
```

- 默认写入的文件在/var/spool/cron/username

计划任务作用

- 定时删除
- 定时备份
- 同步时间 ntpdate

补充

1.crontab的日志
/var/log/cron
2.命令最好写绝对路径
3.ping
```
-c 指定次数
ICMP 协议    ---> 自行百度
```

 

posted @ 2020-04-24 22:26  佛祖让我来巡山  阅读(143)  评论(0编辑  收藏  举报

佛祖让我来巡山博客站 - 创建于 2018-08-15

开发工程师个人站,内容主要是网站开发方面的技术文章,大部分来自学习或工作,部分来源于网络,希望对大家有所帮助。

Bootstrap中文网