linux下的网络配置
一,关于网络通信基本认识
一、什么是IP ADDRESS
- ip是由32个01组成
11111110.11111110.11111110.11111110 = 254.254.254.254- 0表示网段不能用,255是广播地址也不能用。地址范围为1-254,即同一网段下只能有254台主机
- 网络链接命令必须保证开启网络服务:systemctl start NetworkManager
二、子网掩码
用来划分网络区域
1、子网掩码非0的位对应的ip上的数字表示这个ip的网络位
2、子网掩码0位对应的数字是ip的主机位
3、网络位表示网络区域
4、主机位表示网络区域里某台主机
三、 ip通信判定
网络位一致,主机位不一致的2个IP可以直接通讯
172.25.254.1/24 (24=255.255.255.0 )可以和172.25.254.2/24进行通信。
和172.25.0.1/16不同通信
四、 网络设定工具
1、ping
ping ip 检测网络是否通畅
ping -c 1 ip ##ping 1 次
ping -w 1 ip ##等待1秒
ping -c1 -w1 ip ##ping1次等待1秒
2、ifconfig
ifconfig 查看或设定网络接口
ifconfig device ip/24 ##设定
ifconfig device down ##关闭
ifconfig device up ##开启
3、ip addr
ip addr 检测网络接口
ip addr show ##检测
ip addr add ip/24 dev device ##设定
ip addr del dev ens160 ip/24 ##删除
注意:ifconfig 命令和ip addr 命令都是临时设定方式,系统重启reboot后设定就没有了
五、本章节基础知识
一、基本操作
1. 查看网络和设备:`route -n`(可以看网关) ifconfig(看设备)
2. 查看网卡和旗下的多个ip设定:`ip addr show device`(列如ip addr show ens3)
3. 重新开启关闭网卡:`ifconfig 网卡名字 up/down`
4. 重新开启关闭链接:`nmcli connection up/donw 网络链接名字`
5. 添加网卡链接:`nmcli connection add type ethernet con-name 链接名字 ifname ens160 ip4 172.25.254.112/24`
删除链接: `nmcli delete 链接名字`
笔记:改了网络配置后基本步奏:
1 查看网络链接名字和设备名字:`nmcli connect show`
2 重新加载配置文件:`nmcli connetion reload`
3 重新开启网卡链接:`nmcli connection up System\ device`
4 重新开启桥接链接:`nmcli connection up Bridge\ device`
5 查看网卡及配置是否生效:`ip addr` 设备名字
二、查看网络连接的三种方式
都能发现eth0为网卡设备
1、ip addr show
2、ip a
3、ifconfig
二、lo回环接口
相当于人的神经网络------127.0.0.1(一般不动这个,机器本身自己循环接口)
三、ip地址的设定
一、利用虚拟机新建网络ip
新建ip地址
1、打开图形编辑界面
nm-connection-editor
2、更改以下设定
3、效果如下
二、修改之前的ip设置(增加到两个ip)
== 注意:当设置了两个网络的时候(或者说是修改之前的网络后)==
需要重启网络服务
nmcli connection reload
nmcli connection show
(查看连接名字)
nmcli connection down Ethernet connection 1
(先关闭一下)
nmcli connection up Ethernet connection 1
(注意重新开启的链接是取的名字)
ip addr show ens3
(查看最终)效果
四、无图像设定ip
一、无图形进行ip设定
1、 init 3进入无图形模式
2.、nmtui进行适配网络
3.、更改步骤如下
重新加载配置文件:nmcli connetion reload
重新开启链接:cmcli connection up ens3
查看网卡及配置是否生效:ip addr ens3
二、利用命令书写ip
一、基本命令
1、网卡命令
nmcli device connect ens3 ##启用ens3网卡
nmcli device disconnect ens3 ##关闭ens3网卡
nmcli device show ens3 ##查看网卡信息
nmcli device status ens3 ##查看网卡服务接口信息
2、连接的命令
nmcli connection show ##查看连接
nmcli connection down westos ##关闭连接
nmcli connection up westos ##开启连接
nmcli connection delete westos ##删除连接
3、设置连接
nmcli connection add type ethernet con-name westos ifname ens3 ip4.method manual ipv4.addresses 172.25.254.100/24 #添加连接
nmcli connection modify westos ipv4.addresses 172.25.254.200/24 #更改连接
与设备相关的都有device,与连接相关的没有device
举例
1、查看目前的网卡信息
nmcli connection show
发现网卡是etho,连接的名字都是ck
2、关闭ck网络连接
nmcli connection down ck
因为是ssh连接的虚拟机,所以失去了连接
此时ssh掉了,需要到虚拟机去查看效果
开启连接
用重启网卡,或者开启ck连接都可以恢复
3、关闭eth0网卡
[root@ck1 ~] nmcli device disconnect eth0
效果同上
开启连接
用重启网卡,或者开启ck连接都可以恢复
三、利用网卡配置文件进行书写
1、进入配置文件地址
/etc/sysconfig/network-scripts/
2、创建或者修改名字
vim ifcfg-ens3
3、网卡配置如下
4、重新加载,重开网卡链接
重新加载配置文件:nmcli connetion reload
重新开启链接:cmcli connection up ens3
五、网关设定
当我们在真实主机中连接无线网络后,真实主机可以上网,但真实主机中的虚拟机无法连接外网。这是由于我们的虚拟机为单网卡主机,该网卡上设置的IP接口需要和真实主机在同一个网段内,用来和真实主机进行通信。如果想实现虚拟主机中连接外网的功能,我们需要把双网卡的真实主机变成路由器,用来为虚拟主机和外网提供通信接口。
一、全局网卡设定(当网卡没有设置网关时这个生效)
二、 网卡配置文件直接设定网关
1、进入网卡设置地址
vim /etc/sysconfig/network-scripts/ifcfg-ens3
2、重新加载,重开网卡链接
重新加载配置文件:nmcli connetion reload
重新开启链接:cmcli connection up ens3
六、虚拟机上网
实验:虚拟机设置网关
1、在真实主机设置好网卡和网桥后,查看真实网桥的ip
此时桥接的网卡ip为172.25.42.250
2、在虚拟机里面直接输入网关地址即可
虚拟机的ip为172.25.42.1,这个保证能和真实主机的网卡进行通信
其网关设置为和真实主机相同的ip地址172.25.42.250,使得虚拟机能够上网
3、虚拟机重启服务
nmcli connection reload
nmcli connection up ens3
4、route -n查看网关是否开启
5、真实主机打开地址伪装
真实主机打开地址伪装,用内核对实现对两块不同ip网卡之间通信,这样真实主机相当于一个路由器。这样得虚拟机的信息能够通过真实主机和外界上网。
systemctl start firewalld
firewall-cmd --permanent --add-masquerade
fire-cmd --reload
6、实验结果
虚拟机能够上网
前提是此时配置好了地址解析
七、DNS设定
dns—domain name server指的是域名解析服务,即把域名转换为IP地址。系统操作者对字符敏感,而系统网络通信需要通过IP地址这个数字。例如,操作者输入的www.baidu.com这个网址不是一个可以通信的IP地址,必须要在系统中把www.baidu.com变成百度服务器的IP地址,操作者才能通过系统访问百度,这样的过程叫做地址解析。虚拟主机中没有dns服务,无法识别操作者输入的域名。
一、 手动设定DNS(本地设置解析)
1、虚拟机进入配置文件
vim /etc/hosts
2、设置对应的网址dns
二、设置自动解析地址的DNS(网络设置解析)
能够自己解析地址
1、进入编辑界面
vim /etc/resolv.conf
更改内容如下
注意,/etc/hosts/的优先级高于/etc/resolve.conf文件里面的解析地址,可以在/etc/nsswitch.conf里面更改解析优先级
八、设置dhcp自动获得网络地址
一、真实主机开启dhcp服务
真实主机开启dhcp服务,虚拟机设定dhcp工作模式即可(不用dhcp安转包)
1、真实主机解压安装包
rpm -ivh 压缩包名字
进入dhcp配置文件
cd /etc/dhcp/
cat dhcpd.conf
cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcpd.conf 将样本作为配置文件
vim dhcpd.conf 图1,修改配置文件
图1
然后34行以后也全部删除,再做如下设定
2、配置文件修改完成后,重启dhcp服务,查看dhcp服务能否正常启动,接着可以通过dhcp网络设定测试服务能否正常使用
systemctl restart dhcpd
3、此时主机已经有分配地址的能力
二、虚拟机使用dhcp自动获取IP地址
1、查看是否有dhcp服务
没有话要自己下载
systemctl status dhcpd
systemctl start dhcpd
2、 进入网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-ens3
3、重新加载,重开网卡链接
重新加载配置文件:nmcli connetion reload
重新开启链接:cmcli connection up ens3
4、dhcp设置解析优先级
当网络工作模式为dhcp时,系统会自动获得ip 、网关、 dns,如果我们在dns指向文件/etc/resolv.conf进行设定,重启网络后,/etc/resolv.conf中的设定会被由dhcp服务自动获取到的dns修改掉。如果不需要自动获取dns信息,我们可以在网卡配置文件中加入PEERDNS=no参数,固定dns指向。
vim /etc/sysconfig/network-scripts/ifcfg-ens3
5、设置访问DNS地址
vim /etc/resolv.conf
6、重新加载,重开网卡链接
重新加载配置文件:nmcli connetion reload
重新开启链接:cmcli connection up ens3
7、此时设定的DNS为我们自己的输入的指向