internet protocol ADDRESS ##网络进程地址
ipv4 internet protocol version 4
ip 是由 32 个 二进制(0,1) 组成:
11111110.11111110.11111110.11111110 = 254.254.254.254
254.254.254.0=24 (24个1)
用来划分网络区域
子网掩码非 0 的位对应的 ip 上的数字表示这个 ip 的网络位
子网掩码 0 位对应的数字是 ip 的主机位
网络位表示网络区域
主机位表示网络区域里某台主机
网络位一致,主机位不一致的 2 个 IP 可以直接通讯。
例如172.25.254.1/24和172.25.254.2/24 ,其中24=255.255.255.0
ping ##检测网络是否通畅
ping -c 1 ip ##ping 1 次
ping -w 1 ip ##等待 1 秒
ping -c1 -w1 ip ##ping1 次等待 1 秒
ifconfig ##查看或设定网络接口
ifconfig device ip/24 ##设定
ifconfig device down ##关闭
ifconfig device up ##开启
ip addr ##检测网络接口
ip addr show ##检测
ip addr add ip/24 dev device ##临时设定,刷新后没有了
ip addr del dev ens160 ip/24 ##删除
ip addr flush ens160 ##更改 ip 步骤
ip addr add dev ens160 172.25.254.11/24
"注意: device 的名字一个物理事实,看到什么命字只能用什么命字"
[root@localhost ~]# systemctl restart NetworkManager #需要先打开。nm-connection-editor才有东西
[root@localhost ~]# nm-connection-editor #双击编辑eno1,改ip为10.4.17.243,保存
[root@localhost ~]# nmcli connection show #查看
[root@localhost ~]# ifconfig enp1s0 #可以看到ip没有改为10.4.17.243
[root@localhost ~]# nmcli connection down enp1s0 #关闭
[root@localhost ~]# nmcli connection up enp1s0 #开启
[root@localhost ~]# ifconfig enp1s0 #就会显示被改为10.4.17.243
注意:不建议用服务控制网络systemctl restart NetworkManager
建议使用:
nmcli connection show
nmcli connection down enp1s0
nmcli connection up enp1s0
[root@localhost ~]# init3 #进入无图形
[root@localhost ~]# init 5 ##进行操作完,回到有图形界面
[root@localhost ~]# nmcli ##NetworkManager 必须开启
[root@localhost ~]# nmcli device connect enp1s0##启用 enp1s0网卡
[root@localhost ~]# nmcli device disconnect enp1s0##关闭 enp1s0网卡
[root@localhost ~]# nmcli device show enp1s0##查看网卡信息
[root@localhost ~]# nmcli device status enp1s0##查看网卡服务接口信息
[root@localhost ~]# nmcli connection show ##查看连接
[root@localhost ~]# nmcli connection reload #重新加载
[root@localhost ~]# nmcli connection down enp1s0##关闭连接
[root@localhost ~]# nmcli connection up enp1s0##开启连接
[root@localhost ~]# nmcli connection delete enp1s0##删除连接
[root@localhost ~]# nmcli connection add type ethernet ifname enp1s0 con-name enp1s0 ipv4.method manual ipv4.addresses 172.25.254.103/24#添加连接
[root@localhost ~]# nmcli connection modify enp1s0 ipv4.addresses 172.25.254.200/24#更改ip
网络配置目录:/etc/sysconfig/network-scripts/
网络配置文件的名命规则:ifcfg-xxxx
各参数含义:
DEVICE=xxx ##设备名称
BOOTPROTO=dhcp|static|none ##设备工作方式
ONBOOT=yes ##网络服务开启时自动激活网卡
IPADDR= ##IP 地址
PREFIX=24 ##子网掩码
NETMASK=255.255.255.0 ##子网掩码
NAME= ##接口名称
dhcp 网络设定
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# ls #该目录下所有文件都要删除
[root@localhost network-scripts]# ifconfig #已经没有网络连接
[root@localhost network-scripts]# ls
[root@localhost network-scripts]# vim ifcfg-enp1s0 #编辑ifcfg-enp1s0文件
编辑内容
DEVICE=enp1s0 #设备名称
ONBOOT=yes ##网络服务开启时自动激活网卡,相当于静态
BOOTPROTO=none #设备工作方式
IPADDR0=172.25.254.103 #第一个ip
NETMASK0=255.255.255.0
IPADDR1=1.1.1.100 #第二个ip
PREFIXI=24 #=NETMASK
NAME=enp1s0
编辑完毕
[root@localhost network-scripts]# nmcli connection reload
[root@localhost network-scripts]# nmcli connection show
NAME UUID TYPE DEVICE
enp1s0 c0ab6b8c-0eac-a1b4-1c47-efe4b2d1191f ethernet enp1s0
virbr0 40717af5-89f3-46a9-893a-bfa100c1abd6 bridge virbr0
[root@localhost network-scripts]# ip addr show enp1s0 #有两个id,172.25.254.103/24和1.1.1.100/8
需要两个快照:
1,在第一个快照里面设置成dhcp工作模式:
[root@localhost]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim ifcfg-enp1s0
编辑内容“:
DEVICE=enp1s0
ONBOOT=yes
BOOTPROTO=dhcp
NAME=enp1s0
编辑完成
2,在真机里面使用镜像找到并安装dhcp-server 的安装包
[root@localhost]# mount /isos/rhel-8.2-x86_64-dvd.iso /mnt/ #挂载镜像
[root@localhost]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ls
[root@localhost yum.repos.d]# vim f1.repo
编辑内容:
[AppStream]
name=AppStream
baseurl=http://172.25.254.250/rhel8.2/AppStream
gpgcheck=0
[BaseOS]
name=BaseOS
baseurl=http://172.25.254.250/rhel8.2/BaseOS
gpgcheck=0
编辑完成
[root@localhost]# dnf search dhcp
[root@localhost]# dnf install dhcp-server.x86_64 -y
[root@localhost]# rpm -qc dhcp-server
[root@localhost]# vim /etc/dhcp/dhcpd.conf
[root@localhost]# cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf
[root@localhost]# vim /etc/dhcp/dhcpd.conf
编辑内容:
# dhcpd.conf
2 #
3 # Sample configuration file for ISC dhcpd
4 #
5
6 # option definitions common to all supported networks...
7 option domain-name "westos.org"; #修改为域名
8 option domain-name-servers 114.114.114.114; #修改为该网段
9
10 default-lease-time 600;
11 max-lease-time 7200;
12
13 # Use this to enble / disable dynamic dns updates globally.
14 #ddns-update-style none;
15
16 # If this DHCP server is the official DHCP server for the local
17 # network, the authoritative directive should be uncommented.
18 #authoritative;
19
20 # Use this to send dhcp log messages to a different log file (you also
21 # have to hack syslog.conf to complete the redirection).
22 log-facility local7;
23
24 # No service will be given on this subnet, but declaring it helps the
25 # DHCP server to understand the network topology.
26 #shandiao le 27 he 28
27
28 # This is a very basic subnet declaration.
29
30 subnet 10.4.17.0 netmask 255.255.255.0{ #修改,35行之后删除
31 range 10.4.17.10 10.4.17.20;
32 option routers 10.4.17.141;
33 }
编辑完成
[root@localhost]# systemctl start dhcpd
[root@localhost]# systemctl status dhcpd
3,在第一个快照里面:把网线拔掉
[root@localhost]# nmcli connection reload
[root@localhost]# nmcli connection down enp1s0
[root@localhost]# nmcli connection up enp1s0
[root@localhost]# ifconfig #查看自动生成的ip是不是第二个vim /etc/dhcp/dhcpd.conf里面编写的ip范围
SNAT元地址转换
网关(Gateway):就是一个网络连接到另一个网络的“关口”。
route路由器,作用:作数据包的转换
%原理:ip是1.1.1.203的快照,使用ip route add default via 1.1.1.103添加了路由器(双网卡的1.1.1.103和172.25.254.203快照)的1.1.1.103ip,所以,ip是1.1.1.203的快照能够通过路由器转换成172的ip,即能够Ping的通172的ip
需要两个快照:一个是双网卡,IP分别为1.1.1.243和172.25.254.243;另一个是单网卡,IP为1.1.1.241
双网卡的主机:使他变成路由器。既能接收1.1.1.243和172.25.254.243频段的ip
1,在双网卡的主机点小灯泡,增加一个网卡,再把增加的网卡ip改为1.1.1.243
[root@localhost]# cd /etc/sysconfig/network-scripts/
[root@localhost]# ls
[root@localhost]# cp ifcfg-enp1s0 ifcfg-enp7s0
[root@localhost]# vim ifcfg-enp7s0 #或者用nm-connection-editor的图形添加
编辑内容:
DEVICE=enp7s0 #ifconfig看网卡名字
BOOTPROTO=none
IPADDR=1.1.1.243
PREFIX=24
NAME=enp7s0 #名字是enp7s0
ONBOOT=yes
编辑晚餐
[root@localhost]# nmcli connection reload
[root@localhost]# nmcli connection down enp7s0
[root@localhost]# nmcli connection up enp7s0
[root@localhost]# ifconfig
[root@localhost]# sysctl -a | grep ip_forward #查看 net.ipv4.ip_forward=1
[root@localhost]# vim /etc/sysctl.conf #编辑增加net.ipv4.ip_forward=1
[root@localhost]# sysctl -p #使增加的命令立即生效
systemctl enable --now firewalld
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload
firewall-cmd --list-all
2,在另一个快照里,先把id改为1.1.1.203
[root@localhost]# vim ifcfg-enp1s0
编辑内容
DEVICE=enp1s0
ONBOOT=yes
BOOTPROTO=none
IPADDR=1.1.1.203
NAME=enp1s0
编辑晚餐
[root@localhost]# nmcli connection reload
[root@localhost]# nmcli connection down enp1s0
[root@localhost]# nmcli connection up enp1s0
[root@localhost]# ifconfig
[root@localhost]# route -n
[root@localhost]# ip route add default via 1.1.1.103 #加上
[root@localhost]# route -n
[root@localhost]# ping 172.25.254.103 #ping通说明完成
地址解析,系统操作者对字符敏感,系统网络通信需要通过 ip 地址这个数字。当操作着输入网址 www.baidu.com,这个网址不是一个可以通信的 IP 地址,于是必须要在系统中把www.baidu.com 变成百度服务器的 IP 地址,这样的过程叫做地址解析
domain name server == 域名解析服务
vim /etc/hosts
ip 域名
220.181.111.188
##解析就是把域名变成 IP
##本地解析文件,此文件中直接提供地址解析
www.baidu.com
vim /etc/resolv.conf
##dns 的指向文件 不需要重新启动网络立即生效
nameserver 114.114.114.114 ##当需要某个域名的 IP 地址时去问 114.114.114.114
vim /etc/sysconfig/network-scripts/ifcfg-xxxx
DNS1=114.114.114.114
##需要重启网络,当网络重新启动
##此参数会修改/etc/resolv.conf
注意:
档网络工作模式为 dhcp 时,系统会自动获得 ip 网关 dns,那么/etc/resolv.conf 会被获得到的信息修改,如果不需要获得 dns 信息,在网卡配置文件中加入PEERDNS=no
本地解析+dns指向,在双网卡中执行(必须有10的网段)
[root@localhost network-scripts]# ip route add default via 10.4.17.141 #增加一个网关,自己的电脑有线的ip
[root@localhost network-scripts]# vim /etc/hosts #这个是一个一个添加www.bai.com对应的ip
编辑内容:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.locv aldomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
14.215.177.39 www.bai.com
123.151.137.18 www.qq.com
编辑晚餐
[root@localhost network-scripts]# ping www.bai.com #ping的通就完成
[root@localhost network-scripts]# vim /etc/resolv.conf #dns指向。全部的网址的ip都可以通过询问114.114.114.114得到
编辑内容:
nameserver 114.114.114.114
编辑晚餐
[root@localhost network-scripts]# ping www.taobao.com #ping的通完成
[root@localhost network-scripts]# dig www.baidu.com #只能在dns指向中使用该命令
系统默认:
/etc/hosts>/etc/resolv.conf #默认先读本地的,再读外网的
vim /etc/nsswitch.conf39 hosts: files dns #更改优先级
39 hosts: dns files ##/etc/resolv.conf dns 指向优先
默认时本地优先,修改vim /etc/hosts中www.bai.com的ip改为172.25.254.3
[root@localhost ~]# vim /etc/hosts #中www.bai.com的ip改为172.25.254.3
[root@localhost ~]# vim /etc/nsswitch.conf #搜索hosts,里面是hosts:files dnf myhostname
[root@localhost ~]# ping www.baidu.com #发现ping的是172.25.254.3
PING www.baidu.com (172.25.254.3) 56(84) bytes of data.
[root@localhost ~]# vim /etc/nsswitch.conf #搜索hosts,里面面改为hosts: dns files myhostname
[root@localhost ~]# ping www.baidu.com #发现ping的是14.215.177.38
PING www.a.shifen.com (14.215.177.38) 56(84) bytes of data.