LINUX的网络配置

1.关于网络的基础知识

(1)不同计算机是通过多点接入的方式连接在一起,采用的协议是:CSMA/CD:载波侦听多路访问/冲突监测。

CSMA/CD的工作原理为:发送数据前 先侦听信道是否空闲 ,若空闲,则立即发送数据。若信道忙碌,则等待一段时间至信道中的信息传输结束后再发送数据;若在上一段信息发送结束后,同时有两个或两个以上的节点都提出发送请求,则判定为冲突。若侦听到冲突,则立即停止发送数据,等待一段随机时间,再重新尝试。

其原理简单总结为:先听后发,边发边听,冲突停发,随机延迟后重发。

(2)网络是有网络位和主机位组成。
比如:
子网掩码:254.254.254.254=11111110.11111110.11111110.1111110
每段都是8位二进制数,总共有4段。
IPADDRESS:172.25.254.11/24=172.25.254.11/255.255.255.0
其中172.25.254是网络位,11是主机位

2.网络的设定

本文中所有关于动态ip的获取,需要用到dhcp服务,关于dhcp服务的开启,查看文章的第7小节,只有在dhcp服务开启后才能够获得动态ip。

(1)图形化
图形化有两种方式

nm-connection-editor
nmtui

第一种方式之前的博客中已经详细写过,第二中方法为:device后面写eth0

在这里插入图片描述

(2)文件的方式

a.动态ip设定

cd /etc/sysconfig/network-scripts
vim ifcfg-eth0

里面编写:

DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes

然后重启

systemctl restart nerwork

b.静态ip设定

cd /etc/sysconfig/network-scripts
vim ifcfg-eth0

可以同时使一个网卡拥有两个ip,文件里面编写:

		DEVICE=eth0
		BOOTPROTO=none		
		IPADDR0=172.25.254.100
		PREFIX0=24
		IPADDR1=1.1.1.100
		NETMASK1=255.255.255.0

然后重启:

systemctl restart network

在这里插入图片描述

注意:ifcfg的文件在启动时都会被读取,应该删除除了ifcfg-lo和编辑的文件之外(一个网卡的情况下)的所有文件。

(3)命令的方式

命令说明
nmcli device show eth0查看网卡信息
nmcli device statius eth0查看网卡服务接口信息
nmcli device disconnect eth0关闭eth0网卡
nmcli device connect eth0启用eth0网卡
nmcli connection show查看网卡的链接
nmcli connection down westos关闭
nmcli connection up westos打开
nmcli connection reload重新加载(很少用)
nmcli connection delte name以name的方式删除
nmcli connection delete uuid xxxx以uuid的方式删除

在这里插入图片描述
创建动态ip(dhcp)

nmcli connection add type ethernet ifname eth0 con-name westos autoconnect yes

创建静态ip(static)

nmcli connection add type ethernet ifname eth0 con-name westos ip4 172.25.254.100/24

从静态修改为动态

nmcli connection modify westos ipv4.method auto

从动态修改位静态

nmcli connection modify westos ipv4.addresses 172.25.254.100/24 ipv4.method manual

在这里插入图片描述

注意:使用nmcli命令时,必须开启NetworkManager。

3.网络的设定工具

命令说明
ping ip检测网络是否通畅
ping -c 1 ipping1次(count)
ping -w 1 ip等待1秒(wait)
ping -c1 -w1 ipping1次等待1秒
ifconfig查看网络接口(interface)
ifconfig device ip/24设定ip
ifconfig device down关闭(就会ping不通)
ifconfig device up开启
ip addr show查看所有的网络接口
ip addr add ip/24 dev device设定ip(如果之前有ip的话,就会有两个ip)
ip addr del ip/24 dev device删除ip
ip addr flush device刷新(临时设定的ip就会消失)

ifconfig设定临时IP:
在这里插入图片描述

当重启网络后,设定的ip会自动失效。

在这里插入图片描述
ip addr add 设定ip后会有两个ip。
在这里插入图片描述

注意:ifconfig和ip addr show 命令都是临时的。当网络重启(systemctl restart network)后,设定的ip就会自动消失。

4.非同网段之间的通信

实验目的:使1.1.1.100和172.25.254.75可以通信。
实验环境:
server(单网卡)ip:1.1.1.100
desktop(双网卡)ip:172.25.254.100(eth0),1.1.1.200(eth1)
真机:ip:172.25.254.75
当设置完成网络后,检测相同网段的ip可以直接通信。

实验原理:两块网卡都连接到内核上,具备内核路由功能(接到同一内核上的两个不同网段上的网卡可以直接通信),从一个网卡到另一个网卡上进行地址伪装,ip变成可以和目标直接通信的ip网段。

网关:路由器上和当前主机在同一网段的ip叫网关。
路由器:把不可以到达目的地的地址转换成可以到达目的地的主机叫路由器。

注意:双网卡不一定是路由器,路由器必须有数据转换策略。

实验步骤:
(1)把desktop变成路由器
a.打开路由功能

sysctl -a | grep ip_forward #查看内核的路由功能,如果net.ipv4.ip_forward=1,则表示路由功能开启,如果为0,表示路由功能关闭,需要打开路由功能。

编辑路由的配置文件:

vim /etc/sysctl.conf

编写:

		net.ipv4.ip_forward=1

重启,使配置文件生效:

sysctl -p

在这里插入图片描述

b.打开地址伪装功能

systemctl status firewalld #确保火墙是开启状态
firewall-cmd --list-all #查看火墙的地址伪装功能是否开启
firewall-cmd --permanent --add-masquerade #打开地址伪装功能
firewall-cmd --reload #重新加载,确保修改生效

在这里插入图片描述

经过上面的两步,双网卡的机器变成了路由器。

(2)设置server的网关

设置网关有两种方式:全局网关和网卡网关

a. 网卡网关:当电脑上有双网卡时,在哪个网卡上设置网关,则哪个网卡生效。

vim /etc/sysconfig/network-scripts/ifcfg-eth0

在里面添加网关:

		GATEWAY=1.1.1.200

重启网络:

systemctl restart network

查看:

route -n

这样就可以ping通172.25.254.75.

在这里插入图片描述

b.全局网关:适用于单网卡。

vim /etc/sysconfig/network #当网卡内没有设置网关时,该网关生效

和上面的步骤一样,重启网络,查看。

5.DNS的定义及设定

地址解析:域名到ip的转换

实验准备:使真机(172.25.254.75)成为一个路由器(第一点:有路由功能;第二点:可以实现地址伪装),在desktop上添加网关(172.25.254.75)。

在真机上:

在这里插入图片描述

在desktop虚拟机上:

在这里插入图片描述
实验检验:在desktop虚拟机上可以ping通baidu的域名(www.baidu.com),但是不ping通百度的ip地址(14.215.277.38)。

在这里插入图片描述

(1)本地解析(前提是ip和域名都知道)

vim /etc/hosts #本地解析文件

		14.215.177.38  www.baidu.com

这样就可以访问百度了,但是由于只定义百度这个ip和域名的关系,所有其他的网站不能访问的。

在这里插入图片描述

但不能打开淘宝等其他网站:

在这里插入图片描述

(2)DNS 服务

dns服务器:为客户提供地址解析功能的主机叫dns服务器,dns服务器是已知的ip。

vim /etc/resolv.conf ##dns指向文件

里面编写:

		nameserver 114.114.114.114

在这里插入图片描述

(3)解析优先级的策略调整

默认情况下,本地解析的优先级高于DNS服务器的解析。

为了测试,将/etc/hosts中www.baidu.com 的ip修改为172.25.254.75。

在访问www.baidu.com时,会优先访问本地中的172.25.254.75,而不是百度的ip:14.215.177.38
在这里插入图片描述

为了使DNS的优先级高于本地解析,编辑文件

vim /etc/nsswitch

修改第39行:

		hosts:  dns  files

再访问百度时,优先访问真正百度的ip。

在这里插入图片描述

6.固定DNS指向

(1)静态网络

紧接着上面的实验,当重启网络后(systemctl restart network 或者重启NetworkManager),dns会消失。

在这里插入图片描述因此需要将dns写道网卡的配置文件中:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

		DNS1=114.114.114.114

注意:DNS后面必须有数字。

重启网络:

systemctl restart network

在这里插入图片描述

(2)动态网络

编辑文件:

vim /etc/sysconfig/network-scripts/ifcfg-eth0

		BOOTPROTO=dhcp
		PEERDNS=no   

重启网络,然后再编辑:

vim /etc/resolv.conf

		nameserver 114.114.114.114

重启网络就可以获取指定的dns了,而不是自动获取dns。在这里插入图片描述

7.DHCP服务器的搭建和配置

(1)DHCP的搭建

DHCP服务用来获取动态的ip地址,当DHCP服务关闭时,就不能获取动态ip。如果一个服务上没有dhcp,需要在安装dhcp。

可以直接图形化安装dhcp的包,如果安装失败,可以使用yum源进行安装。yum的配置在后面的博客中会编写。

安装成功后,可以使用:

systemctl status dhcpd

在这里插入图片描述
(2)DHCP的配置

DHCP的主配置文件在:/etc/dhcp/dhcpd.conf

复制模版文件来覆盖原复制文件,并修改该配置文件,删除27,28行,并且35行以后的可以全部删除,注释也可以删除。然后对该文件剩下的部分进行修改。

在这里插入图片描述

在这里插入图片描述

开启dhcp服务:

systemctl start dhcpd

然后在另一台可以和该机可以相互通信的主机上测试:

设置该机的BOOTPROTO为dhcp,重启网络后,就可以获得ip地址。

在这里插入图片描述

也可在日志中查看:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值