IPv4:  32位的二进制组成; 172.25.254.10 , 4段,每段8位(点分十进制法); 

11111111. 11111111. 11111111. 11111111
 255    255        255        255




 172.258.268.1(不存在的IP地址)






 地址的分类:
A类:1
B类:10
C类:110

 IP::={net-id,host-id}
 172.25.254.10/24   net-id: 172.25.254   host-id:10
 网段: 172.25.254.0/24 allow 172.25.0.0/16   172.25.254.0/24  172.25.254.10















配置IP的文件:
- 文件存放的目录: /etc/sysconfig/network-scripts/
 
- 文件名的命名: ifcfg-xxx   #xxx 为网口名称

如何查询虚拟机里面nginx 地址_linux



- 文件内容:

DEVICE=eth0  # 设备名称
BOOTPROTO=static|none# boot protocol,启动的协议
ONBOOT=yes  # 这个设置开启生效
NAME=xxx  # 连接名称
IPADDR=xxxx  # 设置你的IP
 
PREFIX=24# 设置你的网络位

如何查询虚拟机里面nginx 地址_linux_02




- 注意: 要想生效,重启network网络服务

systemctl restart network


如何查询虚拟机里面nginx 地址_ipv4_03







编写设置ip的脚本命令:

1. 编辑文件/bin/set-ip

2. 文件内容:看截图

```
cd /etc/sysconfig/network-scripts
rm -fr ifcfg-eth0
cat > ifcfg-eth0 <<EOF
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NAME=eth0
IPADDR=172.25.1.$1# $1代表命令后面跟的第一个参数
 
PREFIX=24
        EOF

如何查询虚拟机里面nginx 地址_如何查询虚拟机里面nginx 地址_04



systemctl  restart network


```
3. 文件其它操作:
chmod +x /bin/set-ip
4. 使用命令: set-ip 12

如何查询虚拟机里面nginx 地址_虚拟机_05

如何查询虚拟机里面nginx 地址_ipv4_06

从图中可看到运行的结果正确



5. 理解:为什么脚本文件要放在/bin目录下?

如何查询虚拟机里面nginx 地址_虚拟机_07



通过上图第一条命令可查看系统中的bin目录,Linux系统规定脚本文件只能放在以上的目录下才可以生效



# 网关


网关在某种程度上扮演了路由器的角色,将IP地址无法连接的主机连接起来,网关一般都具有多个IP地址



## 实验:
 desktop:  172.25.254.1/24     GATEWAY=172.25.254.66


 网关: 172.25.254.66/24   172.25.66.250/24


 server:   172.25.66.100/24   GATEWAY=172.25.66.250

如何查询虚拟机里面nginx 地址_ipv4_08







## 查看与设置



- 设置网关

/etc/sysconfig/network (优先级低)
 /etc/sysconfig/network-scripts/ifcfg-xxx  (优先级高)

如何查询虚拟机里面nginx 地址_虚拟机_09



编写内容:GATEWAY=xxx

如何查询虚拟机里面nginx 地址_虚拟机_10



- 查看网关: route -n

如何查询虚拟机里面nginx 地址_linux_11


如何查询虚拟机里面nginx 地址_ipv4_12


如何查询虚拟机里面nginx 地址_ipv4_13



如何查询虚拟机里面nginx 地址_ipv4_08

上图说明网关将两台本来无法连接的主机连接了起来,使得互相能ping通



# DNS:domain name server


 - 管理IP和域名关系的本地文件/etc/hosts
 ip 域名
 172.25.254.10    www.lyc.org 
 
执行命令: vim  /etc/hosts

如何查询虚拟机里面nginx 地址_IP_15





- 指定DNS服务器的设定dns:



tc/sysconfig/network-scripts/ifcfg-xxx  
 
# 永久修改,必须重启服务才生效

DNS1=xxx

DNS2=xxx

 
DNS3=xxx
 
vim /etc/resolv.conf

# 即可即生效,无需重启服务

nameserver xxxx

 
- 检测DNS是否设置成功
 ping westos.example.com  172.25.254.1



- 设置本地解析和DNS服务器上解析优先级的文件 vim  /etc/nsswitch.conf


如何查询虚拟机里面nginx 地址_IP_16




上图中 hosts:    dns    files 为dns和本地的优先级 谁在前谁有优先级

 
# 动态获取IP




 server: 分配给别人IP
 desktop: 动态获取IP



## server主机操作

1. server必须有一个IP: 172.25.x.11/24

2. 安装dhcp软件: yum install dhcp -y


3. 查看dhcp软件的配置文件: rpm -qc dhcp

如何查询虚拟机里面nginx 地址_如何查询虚拟机里面nginx 地址_17


4. 配置dhcpd.conf文件: 


cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example  /etc/dhcp/dhcpd.conf 

如何查询虚拟机里面nginx 地址_linux_18


  - 删除36行以后的内容; dG

  - 删除27,28行;

  

如何查询虚拟机里面nginx 地址_linux_19



```



1 option domain-name "westos.org";
   2 option domain-name-servers 172.25.254.254;
   3 default-lease-time 600;
   4 max-lease-time 7200;
   5 log-facility local7;
   6 subnet 172.25.0.0 netmask 255.255.255.0 {
   7   range 172.25.0.100 172.25.0.120;
   8   option routers 172.25.0.250;
   9 } 
 ```

5. 重启dhcp服务: 

systemctl  restart dhcpd
systemctl  status dhcpd


如何查询虚拟机里面nginx 地址_虚拟机_20



## desktop主机操作

设置ip获取方式为dhcp;


如何查询虚拟机里面nginx 地址_ipv4_21






# 虚拟机的管理


virt-manager

如何查询虚拟机里面nginx 地址_ipv4_22

如何查询虚拟机里面nginx 地址_ipv4_23

virsh list # 列出正在运行的虚拟机


virsh list --all # 列出所有的虚拟机

virsh start 虚拟机名 # 打开指定虚拟机

virsh shutdown 虚拟机名 # 正常关闭虚拟机

virsh destroy 虚拟机名 # 强行关闭虚拟机

virsh undefine 虚拟机名 # 删除虚拟机但不删除磁盘文件