在Linux下如何进行网络配置

1.搭建实验环境

第一步:纯净实验环境,重置虚拟机并且在真机的shell里面打开两台虚拟机desktop和server


第二步:切换用户到root,在真机root下的shell里面输入virt-manager,给desktop主机一块网卡,给server主机两块网卡

第三步:配置desktop虚拟机(客户端)的网络,只有一个网卡,ip为1.1.1.170


第四步:配置server虚拟机(服务端)的网络,两个网卡,ip分别为172.25.254.90和1.1.1.90


第五步:测试
用服务端可以ping通真机172.25.254.70


用服务端可以ping通客户端1.1.1.170


2.配置网络的原因?

  • 只有配置好网络才能上网,计算机有网络才有意义,才能发挥它存在的价值。

3.什么叫以太网?

  • 以太网其实是一种控制机制
  • 当一台主机向另外一台主机发送数据的时候,先检测目的主机传送数据的线缆是否空闲
  • 如果空闲继续发送,如果忙碌,则等待一会继续检测是否空闲,空闲了就发送数据
  • 主机间传输方式为等待式传输数据(不能互不相让)


4.什么是网络地址IP ADDRESS?

  • ip address = internet protocol address   官方叫做网络进程地址
  • ipv4 = internet protocol version 4
  •  一个网络地址由网络位(区域).主机位(哪个主机)构成,一共32位(二进制)
  • 采用子网掩码标示网络位和主机位,子网掩码其实是不存在的,一共32位(二进制)
  • 子网掩码中1的个数对应表示网络位数,剩下的位数表示该网络区域的主机个数
  • 主机位全0没意义,主机位全1表示广播地址
  • 在同一个网段的主机之间才能通信

 注:1111110.11111110.11111110.11111110=254.254.254.254

  •     网络位一致,主机位不一致的2个ip可以直接进行通讯
  •     172.25.254.1/24当中,24=255.255.255.0
  •     172.25.0.1/16当中,16=255.255.0.0

5.什么是子网掩码?

  •  子网掩码用来划分网络区域
  • 子网掩码非0的位对应的ip位上的数字表示这个ip的网络位
  • 子网掩码0位对应的数字是ip的主机位
  • 网络位表示网络区域
  • 主机位表示网络区域里的某台主机
  • 域名,默认租约期,最长租约期,网关,子网掩码,主机ip

6.临时设定网络的工具(临时的

实验环境:删除单个网卡的desktop主机的永久ip

  • ping 某个ip地址       ##功能是检测网络是否通畅
  • ping是用来检测是否可以直接通讯最简易的办法
  • ping -c n                  ## n表示次数,例如3 ,只ping3次
  • ping -w n                 ## n表示秒数,例如3,等待3秒

工具一:

ifconfig     查看或者设定网络接口
ifconfig device ip/24     临时设定ip地址
ifconfig device down     关闭临时设定的ip
ifconfig device up开启临时设定的ip


    

   

 

 

  • 这里的device是网卡名称(比如eth0、eth1),是实实在在存在的
  • device的名字是一个物理事实,看到什么名字只能用什么名字

(1)ifconfig 查看或者设定网络接口


(2)ifconfig device(eth0) ip/24 临时设定ip地址


(3)ifconfig device down 关闭临时设定的ip


(4)ifconfig device up 开启临时设定的ip


工具二:

ip addr 检测或设定网络接口
ip addr show 检测
ip addr add ip/24 dev device 临时设定ip
ip addr del dev eth0 ip/24 删除ip(一次性只能删除一个ip)
ip addr flush eth0 更改ip(刷空之前所有的ip,重启又会存在)

 

 

 

 

 

 

(1)ip addr 检测或设定网络接口

(2)ip addr show 检测


(3)ip addr add ip/24 dev device 临时设定ip


(4)ip addr del dev eth0 ip/24 删除ip(一次性只能删除一个ip)


(5)ip addr flush eth0 更改ip(刷空之前所有的ip)

说明:ip addr查看的信息更全面
7.图形方式设置ip(永久的设置)

(1)主机有图形界面时:

nm-connection-editor     打开图形方式设置ip的命令
systemctl stop NetworkManager     关闭网络管理者
systemctl restart network     重启网络
systemctl start NetworkManager     开启网络管理者


 

 

 

 

说明:我们用 Manual方式为静态分配ip
 DHCP是动态分配一个ip地址(前提是连接到的网络里面有DHCP服务器)

(2)在虚拟控制台时:采用nmtui(也可以在图形界面做实验)

具体操作如下:采用上下键切换


8.命令方式设定网络ip (永久的)

nmcli命令 前提是NetworkManager必须开启

nmcli device show eth0 查看网卡信息
nmcli device status eth0 查看网卡服务接口信息
nmcli connection show     查看网络
nmcli connection down westos     去掉链接名字为westos的网络
nmcli connection up westos     开启链接名字为westos的网络
nmcli connection delete westos     删除链接名字为westos的网络
nmcli connection add type ethernet con-name westos ifname eth0 ip4 172.25.254.170/24     添加网络
nmcli connection modify westos ipv4.method auto     动态分配ip
nmcli connection modify westos ipv4.method manual     静态分配ip
nmcli connection modify westos ipv4.addresses 172.25.254.90/24     添加网络
nmcli device connect eth0     启用eth0网卡
nmcli device disconnect eth0     关闭eth0网卡


  
  






 

 

 

 

 

 

 

 

 

 

实验环境:用只有一个网卡的desktop虚拟机,先删掉原来的ip

(1) NetworkManager必须开启(管理网络的)


(2)nmcli device connect eth0 启用eth0网卡


(3)nmcli device disconnect eth0 关闭eth0网卡


(3)nmcli device disconnect eth0 关闭eth0网卡


(5)nmcli device status eth0 查看网卡服务接口信息


(6)nmcli connection show 查看网络


(7)nmcli connection down westos 去掉链接名字为westos的网络


(8)nmcli connection up westos 开启链接名字为westos的网络


(9)nmcli connection delete westos 删除链接名字为westos的网络


(10)nmcli connection add type ethernet con-name lucky ifname eth0 ip4 1.1.1.170/24 添加ip网络
添加网络 类型 链接名字 网卡名字 网络类型 ip号(24表示网络位数)


(11)nmcli connection modify westos ipv4.method auto 将ip网络转为动态的

(12)nmcli connection modify westos ipv4.addresses 172.25.254.111/24 添加静态ip

(13)nmcli connection modify westos ipv4.method manual 将ip网络转为静态的

  • 链接名字可以随便写(westos) ,设备名字有什么写什么(eth0客观存在的)
  • 链接westos只能有一个,如果有多个就会出现错误 一个链接只能被一个设备所识别,
  • 再添加就不能识别 如果命令打错,链接依然会生成,不会报错,应该先删掉 先配置动态,
  • 静态转动态不会被阻止,没有条件,而动态转静态,有阻止,必须先添加静态ip 才可以转

9.在网络配置文件里面设置网络(这个配置是永久的)

包括三种类型:

  1.     动态设定ip 网卡名字 网卡的激活状态(开机时是否激活) 网卡的设备状态
  2.     静态设定ip 网卡名字 网卡的激活状态(开机时是否激活) 网卡的设备状态
  3.     在一块网卡上同时设定两个ip
  • 网络配置目录  /etc/sysconfig/network-scripts/
  • 网络配置文件的命名规则:ifcfg-xxxxxx(比如:ifcfg-eth0)
  • 内容如下:
  • DEVICE=xxx 设备名称
  • BOOTPROTO=dhcp|static|none  设备工作方式为静态还是动态
  • ONBOOT=yes 网络服务开启时自动激活网卡
  • 以上三行必写
  • IPADDR=xxxx  IP地址
  • PREFIX=24    子网掩码
  • NETMASK=255.255.255.0  子网掩码
  • NAME=xxx  接口名称,可写可不写

    网络配置文件里面至少要写 DEVICE (网卡名称)ONBOOT(启动时的激活状态) BOOTPROTO(静态还是动态) 这三个

实验环境:在desktop虚拟机上实验

(1)动态设定ip(dhcp网络设定)
第一步:vim /etc/sysconfig/network-scripts/ifcfg-eth0

第二步:在网络配置文件里面写入虚拟机的安装信息

  • DEVICE=eth0     网卡名称
  • ONBOOT=yes     网络服务启动时是否自动激活
  • BOOTPROTO=dhcp     动态配置网络

步骤三:重启网络,用ip addr show eth0 查看ip
systemctl restart network 重启网络才会生效


(2)静态设置ip(manual网络设定)
第一步:vim /etc/sysconfig/network-scripts/ifcfg-eth0
第二步:在网络配置文件里面写入虚拟机的安装信息
DEVICE=eth0     网卡名称
ONBOOT=yes     启动时自动激活
IPADDR=172.25.254.170     ip地址
NETMASK=255.255.255.0     子网掩码
BOOTPROTO=none(static)     静态分配网络

第三步:重启网络,systemctl restart network,用ip addr show eth0 查看ip


第五步:查看是否真实存在


(3)一块网卡上配置多个ip
第一步:vim /etc/sysconfig/network-scripts/ifcfg-eth0
第二步:在网络配置文件里面写入虚拟机的安装信息
DEVICE=eth0     网卡名称
ONBOOT=yes     网络服务启动时自动激活
IPADDR0=172.25.254.170     第一个ip地址
NETMASK0=255.255.255.0     第一个ip地址对应的子网掩码
BOOTPROTO=none     设置为静态分配
NAME=happy     网络名称为happy
IPADDR1=1.1.1.170     第二个ip地址
PREFIX1=24     第二个ip地址对应的子网掩码


第三步:重启网络,systemctl restart network,用ip addr show eth0 查看ip

步骤五:查看结果

  • 三种配置方式结束之后均用ip addr show eth0查看是否配置正确
  • 如果不知道配置文件的格式咋写
  • 在/usr/share/doc/initscripts-9.49.17/sysconfig.txt可进行查看

(4)动态ip与静态ip的互相转换

nmcli connection modify westos ipv4.method auto     将网络改成动态获得ip
nmcli connection modify westos ipv4.method manaul     将网络改成静态获得ip
nmcli connection modify westos ipv4.addresses 172.25.254.111/24     动态网络变成静态网络时需要添加地址



 

 

 

 

第一步:删除desktop主机的ip

第二步:设置一个动态的ip地址


第三步:将刚才设置的那个动态ip地址转化为静态ip地址


注意:因为之前没有添加过静态的ip地址,所以动态ip转静态ip失败
步骤四:设置一个静态ip,然后动态ip转静态ip,并且重启服务,就成功了

10.采用脚本方式设置ip地址

(1)实验环境:我在desktop主机里面做实验,先删除原来的ip网络

(2)编辑一个脚本文件 vim /bin/set_ip.sh,在此文件里面写入ip信息

脚本内容的解释如下:

  • #!/bin/bash     此脚本里面存放的是二进制文件
  • cat > /etc/sysconfig/network-scripts/ifcfg-$1 <<EOF     将ip配置文件定向输出到EOF
  • DEVICE=$1     网卡名称
  • ONBOOT=yes     网络服务启动时网卡自动激活
  • BOOTPROTO=none     静态分配ip
  • IPADDR=$2     ip地址
  • PREFIX=24     子网掩码
  • EOF     输入重定向
  • systemctl restart network     重启网络

说明:$1,$2为自定义数据,在调用脚本设置ip的同时给定

(4)设置ip set_ip.sh eth0 1.1.1.170

注意:一定要给可以执行该脚本的权限

11.什么是路由器?

  • 具有地址转换功能的双网卡主机叫做路由器

12.路由器的用途?

  • 由于不在同一网段的两个ip地址不能通信
  • 但现实是2的32次方有限,因此ip地址有限,不可能每个人分一个ip地址
  • 我现在想实现不同网段的主机进行通信(1.1.1.170和 172.25.254.90)
  • 用1.1.1.170 主机连接 172.25.254.90主机必须在中间加一个双网卡主机
  • 该主机具备内核路由功能和地址伪装功能,这个中间的主机就叫做路由器 route 
  • 因此搭建路由器,可以实现两个不同网段的主机通信

  
13.什么是网关?

网关是路由器上和1.1.1.170主机处在同一个网段的ip地址,在我的实验中,网管当然就是1.1.1.90
14.怎样实现不同网段的主机进行通信(1.1.1.170 主机和 172.25.254.90主机)?

声明:为设置路由和网关之前,1.1.1.170 主机和ping不通172.25.254.90主机

(1)在具有两块网卡的服务端(server主机)设置

    开启路由功能
    第一步:输入sysctl -a | grep ip_forward
    看本台主机的路由功能是否开启 : 0表示关闭 , 1表示开启

步骤二:将服务端主机的路由功能开启,vim /etc/sysctl.conf

步骤三:sysctl -p 使刚才的设置生效


开启伪装地址功能
步骤一:开启防火墙,systemctl start firewalld

步骤二: 查看火墙的一系列状态 firewall-cmd --list-all

步骤三:永久开启防火墙的伪装功能 firewall-cmd --permanent --add-masquerade

步骤四:重新加载 firewall-cmd --reload
步骤五:再次查看火墙是否开启伪装功能 firewall-cmd --list-all

(2)在具有一块网卡的客户端(desktop主机)设置
第一步:route -n 查看网关 全为0

第二步: vim /etc/sysconfig/network ,添加网关gateway=1.1.1.90


第三步:systemctl restart network 重启网络

第四步:查看网关是否添加成功



(3)最终测试:用1.1.1.170ping172.25.254.90 ping通就成功了


15.怎样使虚拟机上网?

  • 知道了路由和网关以后,就可以通过搭建路由器和设置网关使虚拟机通过真机上网了
  • 原理和1.1.1.170主机ping172.25.254.90主机的原理一样
  • 虚拟机desktop只有一个ip,真机有两个ip

第一步:查看真机的ip


可以看出我的真机的ip为172.25.254.70与172.25.70.250
第二步:开启真机的路由功能


可见真机的路由功能已经开启
第三步:开启真机防火墙的伪装功能


可见真机防火墙的伪装功能已经开启
第四步:用配置文件的方法给desktop主机设置ip为172.25.254.170


第五步:给desktop主机设置网关172.25.254.70


第六步:检查虚拟机是否能上网?


可以看出虚拟机可以ping通真机了


可以看出虚拟机输入www.baidu.com并不能上网

为什么虚拟机可以ping通而不能上网呢?
原因:因为www.baidu.com域名没有解析,系统无法辨别www.baidu.com是谁。

16.域名解析的类型

    注意:这种方法即做及时生效。不需要重启网络

(1)本地解析

  • 在本地解析文件/etc/hosts里面写入网址和其对应的ip地址
  • 主要功能:告诉电脑谁是谁,才能访问,但是不全面 ,想要登陆谁,必须手动添加域名。
  • 主机自己给自己答案 ,所有的ip地址都是自己给

比如:desktop虚拟机想上网,想打开百度
步骤一:在desktop虚拟机中打开本地解析文件

第三步:此时直接在desktop虚拟机中ping百度,就可以ping通


第四步:检验直接在desktop虚拟机的浏览器中输入百度网址是否可以直接打开百度


总结:

  • 该方法是虚拟机自己给自己说明要访问的网址对应的ip地址,才能在访问的时候被解析
  • 但必须一个一个写入,解析一个才能用一个

(2)dns服务器

  • 该服务器是专门用来做域名解析的服务器
  • 不是服务器自己直接解析
  • 而是找回答问题的人,提供一个解析的主机  
  • 一般由运营商直接做好,dns服务器直接找运营商即可

nameserver 114.114.114.114 电信
说明:为了看到实验效果,先去掉本地解析的内容
第一步:在desktop虚拟机中打开域名解析文件 /etc/resolv.conf

第二步:在域名解析文件当中写入dns服务器提供的运营商的ip

第三步:查看是否可以直接ping通各个网站


第四步:在虚拟机中直接打开浏览器输入网址,看是否能够直接访问


总结:

dns服务器解析更全面,只要输入运营商的ip地址,就可以访问任何网站,比本地解析文件方便很多
nameserver 114.114.114.114   电信的
nameserver  218.30.19.50   陕西省的

注意:

  • 域名解析也可以直接在网络配置文件里面写   vim /etc/sysconfig/network-scripts/ifcfg-eth0 
  • 写入 DNS1/DNS2/DNS3(最多三个,后面必须写数字)=114.114.114.114 ,但是这个做完之后要重启
  • 114.114.114.1114是已知的,由运营商做好的

(3)本地解析和dns服务器解析的优先级

  • 默认本地解析的优先级高
  • 怎样设定优先级  ?答:在  vim /etc/nsswitch 在第39行设置 
  • 将本地解析的ip随便写 ,将dns解析设置好
  • 然后调整优先级,再去ping一个ip, 就能看到效果

第一步:设置本地解析

第二步:设置dns解析


第三步:查看两种解析的优先级


可见本地解析比dns解析优先级高

第四步:在虚拟机里面 ping www.qq.com,看是不是本地先解析

第五步:改变优先级


第六步:查看是否为dns先解析

发现是dns解析。

 

关于DHCP服务器的搭建将会在下一篇博客进行详细描述。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值