<IX>linux 下的网络配置


一、什么是 IP ADDRESS

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 的主机位
网络位表示网络区域
主机位表示网络区域里某台主机

三、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 的名字一个物理事实,看到什么命字只能用什么命字"

操作效果图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、永久设定 ip

1.图形设定ip

[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

2.无图形设定ip

[root@localhost ~]# init3   #进入无图形

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

[root@localhost ~]# init 5 ##进行操作完,回到有图形界面

3.命令方式设定网络

[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 网络设定

一块网卡上配置多个 IP步骤:
[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

七、dhcp 服务配置

需要两个快照:

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通说明完成

在这里插入图片描述
在这里插入图片描述

九、设定 dns

地址解析,系统操作者对字符敏感,系统网络通信需要通过 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.

猜你喜欢

转载自blog.csdn.net/qiao_qing/article/details/109464274
今日推荐