一.linux下的网络配置
1.什么是IP ADDRESS
internet protocol ADDRESS ##网络进程地址
ipv4 internet protocol version 4
1)2^32
ip是由32个01组成
11111111.11111111.11111111.11111110=255.255.255.254
2)子网掩码
用来划分网络区域
子网掩码非0的位对应ip上的数字表示这个ip的网络位
子网掩码0位对应的数字是ip的主机位
主机位表示网络区域里的某台主机
3)ip通信判定
网络位一致,主机位不一致的两个ip可以直接通讯
172.25.254.1/24
172.25.254.2/24
172.25.0.1/16
三个ip都可以直接互相通讯
4)网络临时设定工具
ping ---检测网络是否通畅
ifconfig ---查看或设定网络接口
ifconfig device(接口名称) ip/24 ---设定 只能临时设定,临时设定之后该主机ip为ip设定值;
---重启network服务后系统会再次读取配置文件,ip会变回去。
临时设定eth0的ip为172.25.254.163
ifconfig device down ---把接口临时关闭
ifconfig device up ---把网络接口临时打开
ip addr ---检测网络接口
ip addr show eth0 ---检测
ip addr add ip/24 dev device ---多添加ip设定
ip addr flush eth0 ---临时设定ip,先删除,再添加
ip addr add ip/24 dev device
”注意“:device的名字是一个物理事实,看到物理接口是什么名字只能用什么名字
5)图形方式设定ip
1.nm-connection-editor
systemctl stop NetworkManager(类似手机连wifi时的记忆功能)
systemctl restart network
systemctl start NetworkManager
注意:设定网络不需要重启network服务,而更改网络配置需要重启network服务。!!!!!!!!!!!!
2.nmtui
6)命令方式设定网络
nmcli ---NetworkManager必须开启
在本篇博客第六节详解
二.如何用命令设置网络配置
1.cd /etc/sysconfig/network-scripts/
ls后找到当前的网络配置,删除这个文件
vim新建一个以ifcfg-网络配置命名 的文件
文件编辑内容如下
DEVICE=eth0 ##设备口名称是eth0,这是实实在在的物理配置
ONBOOT=yes ##设置网络启动后服务自动开启
BOOTPROTO=none ##静态网络,自己配置的ip
IPADDR=172.25.254.162 ##配置的ip地址
NETMASK=255.255.255.0 ##子网掩码
NAME=dai ##配置的网络命名,可以借此修改命名。
三.如何配置动态网络
没有分配ip的服务器,怎么做这个动态ip的实验
实验1:
1.先下载软件的安装包
lftp 172.25.254.250 ##连接有资源的主机
lftp 172.25.254.250:/> cd pub/rhel7.0/
cd ok, cwd=/pub/rhel7.0
lftp 172.25.254.250:/pub/rhel7.0> cd Packages/
cd ok, cwd=/pub/rhel7.0/Packages
lftp 172.25.254.250:/pub/rhel7.0/Packages> get dhcp-4.2.5-27.el7.x86_64.rpm##(rpm类似于windows里的exe)
518440 bytes transferred
lftp 172.25.254.250:/pub/rhel7.0/Packages> quit ##离开商店
此时桌面上应下载出一个文件包
2.将此文件包scp拷贝到虚拟机server中,切换到超级用户双击进行安装
3.安装之后cd /etc/dhcp/查看有哪些文件
dhclient.d dhcpd6.conf dhcpd.conf
4.编辑dhcp.conf文件,文件内没有内容,将模板拷贝到原位置并确认将原文件覆盖
cp /usr/share/doc/dhcp*/dhcpd.conf.example /etc/dhcp/dhcpd.conf
5.继续编辑dhcpd.conf文件
7 option domain-name “dai.com”; ##本服务器的域名为dai.com
8 option domain-name-servers 172.25.254.200; ##域名解析服务器地址172.25.254.200
27 subnet10.152.187.0 netmask 255.255.255.0{} ##将本行注释掉,这是多多余的网络配置
32 subnet 172.25.254.0 netmask 255.255.255.0 { ##设置网络位为172.25.254
33 range 172.25.254.162 172.25.254.200; ##设置分发的ip地址范围为172.25.254.162到172.25.254.200
34 option routers 172.25.254.200; ##设置网关为172.25.254.200
35 }
此后的内容全部删除,不需要。
退出保存
6.systemctl restart dhcpd ##重启dhcpd服务
7.关闭本机的防火墙
检测:
1.再打开一个虚拟机desktop,配置网络环境
将原来的网络配置删除,新建一个动态网络配置
有两种方法
1)命令方式
cd /etc/sysconfig/network-scripts
ls 查看文件,此时eth0的文件不存在,已经被删除
vim ifcfg-eth0 ##在这个路径新建动态网络配置文件
编辑内容如下:
DEVICE=eth0 ##网卡名称是eth0
ONBOOT=yes ##设置网络启动后服务自动开启
BOOTPROTO=dhcp ##设置此网络为动态的
退出保存
systemctl restart network ##重启网络服务
2)图形方式
nm-connection-editor
选择DHCP网络进行新建
获得动态ip 172.25.254.162
2.在desktop中检测
> /var/log/messages ##清空日志
systemct restart network ##重启网络服务
cat /var/log/messages ##查看日志
日志中会出现分发ip的服务器地址
3.在server中检测
cat /var/lib/dhcpd/dhcpd.leases ##查看哪个ip被别的主机使用
可以找到得到desktop IP分配的server的机器号。
!!!!!!!!!!!!
企业中是不需要自己配置服务器的,可以直接申请动态网络ip地址。
四.网关的作用
环境配置:
打开appication-system tools-virtual machine Manager,
输入真机密码westos,选中需要实验的虚拟机,添加至两个网卡
进入虚拟机查看网卡数量
网卡新增一个eth1
vim /etc/sysconfig/network ##设置网关
实验2:把server配置为一个路由器
假设desktop通过路由器连接到真机
1.设置desktop的ip地址为6.6.6.6
真机的ip地址为172.25.254.62
两台主机在没有路由器的情况下不能ping通
2.设置server的两个网卡分别为6.6.6.100和172.25.254.200
设置路由转换功能
systemctl start firewalld ##开启火墙
firewall-cmd --permanent --add-masquerade ##开启路由转换功能
firewall-cmd --cmd --reload
firewall-cmd --list-all ##查看操作结果,当回车后出现masquerade:yes这一行的时候,表示功能设置成功
因为这是再虚拟机中暂时设定,不需要重启服务
systemctl restart firewalld ##重启该服务,使服务生效
3.设置desktop的网关,为的是让6.6.6.6去连接172.25.254.62时它能自动去接入路由器。
vim /etc/sysconfig/network
在文件中添加一行网关信息
GATEWAY=6.6.6.100
退出保存
systemctl restart network ##重启该服务
测试:
在desktop中ping真机地址172.25.254.62,能够ping通,两个不在一个网络区域的主机通信完成。
ssh [email protected] ##desktop使用ssh连接真机
在真机中w -i 查看正在连接本机的用户ip
可看到连接真机的ip是172.25.254.200 ## 说明路由器的真正作用是进行ip地址的转换,真机最终只能看到路由器在连接自己,却不知道有这个需求的desktop。
五.DNS的功能
实验3:
首先配置环境:
将主机连接到wifi,主机ifconfig是有一块固定网卡和一块无线网卡,ip地址不用更改;
然后打开desktop虚拟机,配置ip地址172.25.254.162与网关172.25.254.62,网关为真机的固定网卡ip地址
为了让虚拟机能够上网,需要将主机配置为一台路由器,可以临时配置地址转换,打开火墙,添加服务,不用reload及restart操作
此时虚拟机能够ping通baidu的ip地址,不能的话检查虚拟机网卡是否能ping通, 不能的话说明网卡损坏;
若是还是不能的话,则此时真机中的内核服务没有打开,需要将其设置为开启。
此时虚拟机能够ping通百度的ip地址
但是虚拟机并不能ping通域名(www.baidu.com)
有两种解决方法
1)一种是添加本地解析
vim /etc/hosts ##在这个文件中添加本地解析
220.181.111.188 www.baidu.com ##在文件末尾添加要访问的网站的信息
退出保存。不需要重启网络服务
但是这个有较大弊端,本地解析只能读取本地保存的域名网址,网站只要域名有一点点的变化,虚拟机就不能ping通该域名。
所以有了外部解析
2)一种是添加外部解析
vim /etc/resolv.conf ##打开文件编辑
nameserver 114.114.114.114 ##在文件中写入这一行,代表虚拟机在访问域名时,会自动先向 114.114.114.114这个ip去询问,我要访问的域名ip地址是谁,这样就不需要在本地解析中存储大量的域名网址信息。
本地解析中没有news.baidu.com的信息,现在能够正常ping通
主机默认先进行本地解析,后进行外部解析
实验:
在外部解析中添加114.114.114.114 ,ping news.baidu.com
结果能ping通
然后在本地解析中添加一个错误的news.baidu.com的ip地址188.188.188.188
ping news.baidu.com
结果ping的结果是本地解析中添加的错误ip地址
实验结果说明,主机是先访问的本地解析中的文件,连接了错误的ip地址,没有访问外部解析文件
本地解析速度比外部解析快(本地解析中添加news.baidu.com,访问观察速度,删除本地解析中的这个内容,再访问观察,g观察效果不明显)
若是虚拟机ping某一个地址,它是优先查看本地有无信息,进行本地解析,再进行外部解析
##可以编辑文件调整他们的优先级
vim /etc/nsswitch.conf ##打开这个文件
hosts: files dns ——>hosts: dns files ##将顺序修改
检测修改结果:
在虚拟机中ping news.baidu.com,显示的ip是正确的ip地址,结果说明虚拟机先进行外部解析,获得正确的ip地址进行访问,没有经过内部解析过程。
##DNS的设定
dns就是外部解析时访问的服务器地址,可以通过修改端口文件添加一行DNS1=172.25.254.62来改变主机外部解析的dns服务器地址
1)静态网络的DNS
cd /etc/sysconfig/network-scripts
ls
vim ifcfg-dai
DEVICE=eth0 ##配置端口为eth0
ONBOOT=yes ##设置网络启动后服务自动开启
BOOTPROTO=none ##设置静态网络
IPADDR=172.25.254.162 ##设置ip地址为 172.25.254.162
PREFIX=24 ##掩码为24
GATEWAY=172.25.254.62 ##网关为172.25.254.62
DNS1=172.25.254.62 ##DNS服务器地址为 172.25.254.62
退出保存
systemctl restart network ##重启网络服务
cat /etc/resolv.conf ##查看外部解析访问的ip地址
nameserver 172.25.254.62 ##外部解析文件由原先设置的 114.114.114.114变为在端口设置的DNS服务器地址172.25.254.62.
如何才能让更改的外部解析文件/etc/resolv.conf 不受端口的DNS影响?
vim ifcfg-dai
DEVICE=eth0 ##配置端口为eth0
ONBOOT=yes ##设置网络启动后服务自动开启
BOOTPROTO=none ##设置静态网络
IPADDR=172.25.254.162 ##设置ip地址为 172.25.254.162
PREFIX=24 ##掩码为24
GATEWAY=172.25.254.62 ##网关为172.25.254.62
PEERDNS=yes|no ##运行时更改|不更改外部解析文件
退出保存
systemctl restart network
vim /etc/resolv.conf ##打开/etc/resolv.conf文件
nameserver 114.114.114.114 ##设置DNS服务器为114.114.114.114
退出保存
cat /etc/resolv.conf ##查看/etc/resolv.conf文件
nameserver 114.114.114.114
修改成功,设置动态网络时/etc/resolv.conf中添加的DNS服务器地址不再因为端口发生改变
2)动态网络的DNS
设定动态网络运行时不更改外部解析文件
设定外部解析文件,添加114.114.114.114
重启网络服务之后查看外部解析文件,文件内容没有改变
六.命令方式设定网络
ifconfig 能看到lo回环接口
1.回环接口是什么
本地环路接口,例如包是由一个本地进程为另一个本地进程产生的, 它们将通过外出链的'lo'接口,然后返回进入链的'lo'接口
2.与网卡接口的区别?
日志采集内部与外部,
外部的信息在网卡接口采集
内部的信息在回环接口采集
3为什么要学这个?
因为这个不需要进行交互,可以在以后进行批量操作的时候,把这些命令写进脚本自动运行。
4.nmcli 命令
先打开manger,才能用nmcli这个命令,不然会报错;
connection链接名称,配置的网络名称
device设备名称 ,配置的哪个硬件设备的名称(不能修改)
1)nmcli device
1)nmcli device status ##查看端口设备名称(包括回环接口),使用的网络工作模式(ethernet|loopback|等等),连接状态(是否连接) ,连接的是哪个网络(配置的网络名称)
2)nmcli device show ##查看端口设备详细信息
100M bit=12.5M Byte,传输速度是12.5M
3)nmcli device disconnect|connect设备管理(开启关闭)

2)nmcli connection
1)nmcli connection <tab>两次查看参数
2)nmcli connection show ##显示网络配置的名称,机器码,网络工作模式和物理接口名称
3)nmcli connection delete dai##删除dai的网络配置
4)nmcli connection add type ethernet con-name dai ifname eth0 autoconnect yes ##新建的网络配置
网络工作模式 网络名称 设备名称 动态连接
5)nmcli connection add type ethernet con-name dai ifname eth0 ip4 172.25.254.162
网络工作模式 网络名称 设备名称 静态连接,且ip地址设定

!以上命令都不需要重启网络服务
3)nmcli connection modfiy
##由动态网络修改为静态网络(修改需要重启网络服务)
1)分步修改
nmcli connection modify dai ipv4.addresses 172.25.254.163/24 ##修改它的ip为172.25.254.163掩码为24
nmcli connection modify dai ipv4.method manual ##修改dai为静态网络
修改 网络名称 静态网络
2)命令一次修改
nmcli connection modify dai ipv4.address 172.25.254.119/24 ipv4.method manual
先修改为动态网络,然后一条命令修改为静态网络
#修改静态网络的ip地址
nmcli connection modify dai ipv4.addresses 172.25.254.164/24 ##修改dai网络的ip地址为172.25.254.164
systemctl restart network
!!!注意,需要先赋予动态网络一个固定ip,再修改它为静态网络,否则会报错
可以一起修改,用一条命令
#由静态网络修改为动态网络(修改需要重启网络服务)
nmcli connection modify dai ipv4.method auto ##修改dai为动态网络
systemctl restart network ##重启网络服务