初学Linux之网络配置(IP、NETMASK、GATEWAY、DNS、DHCP)
1. ip地址与子网掩码
1.1 什么是ip地址
IP: internet protocol address 网络进程地址。
IPv4(Internet Protocol version4)地址:IPv4使用32位(4字节)地址,因此地址空间中只有4,294,967,296(2)个地址。不过,一些地址是为特殊用途所保留的,如专用网络(约1800万个地址)和多播地址(约2.7亿个地址),这减少了可在互联网上路由的地址数量。IPv4地址可被写作任何表示一个32位整数值的形式,但为了方便阅读和分析,它通常被写作点分十进制的形式,即四个字节被分开用十进制写出,中间用点分隔(摘自百度)。例如11111110.11111110.11111110.11111110 =254.254.254.254
1.2 什么是子网掩码
子网掩码用来划分网络区域,子网掩码非0的位对应的ip上的数字表示这个ip的网络位,子网掩码0位对应的数字是ip的主机位。
网络位表示网络区域,主机位表示网络区域里某台主机。例如172.25.254.33/24,就是说ip为172.25.254.33,掩码为24=255.255.255.0。故网络位为:172.25.254.0,主机位为33。
1.3 能否通信的判定
如果两台主机网络位一致,主机位不一致的2个ip可以直接通信
172.25.254.172/24 与172.25.254.72/24可以通信,172.25.0.1/16与172.25.254.1/24无法通信。
如下图所示:虚拟机ip地址为:172.25.254.172,掩码为24。网络位为172.25.254.0,主机位为172
真机虚拟机ip地址为:172.25.254.72,掩码为24。网络位为172.25.254.0,主机位为72
二者可以通信
注:ping命令检查网络是否通畅, ping -c 3 172.25.254.172只连接三次
ping -w 1 172.25.254.172 只等待一秒机就返回能否通信的结果
2. 网络设定工具
2.1 临时设定网络接口命令
2.1.1 ifconfig命令
ifconfig 查看所有网络接口
ifconfig device ip/24 临时设定ip
ifconfig device down 关闭device
ifconfig device up 开启device
2.1.2 ip addr 命令
ip addr show 查看所有网络接口
ip addr add ip/24 dev device 添加ip/24到device
ip addr del dev device ip/24 在device删除ip/24
ip addr flush eth0 更改ip的步骤,先将eth0上的全部删掉
ip addr add ip/24 dev device 然后重新添加设定
注意:device的名字一个物理事实,看到什么名字只能用什么名字
2.2 永久设定网络接口命令
2.2.1 图形设定方式
2.2.1.1 前台图形设定方式
nm-connection-editor
2.2.1.2 后台图形设定方式
nmtui 后台图形设定方式
2.2.2 命令设定方式
nmcli NetworkManager必须开启
nmcli device show eth0 查看eth0网卡信息
nmcli device status eth0 查看网卡服务接口信息
nmcli device connect eth0 启用eth0网关
nmcli device disconnect eth0 关闭eth0网关
nmcli connection show 显示所有网络链接
nmcli connection down westos 关闭指定网络链接
nmcli connection up westos 开启指定网络链接
nmcli connection delete westos 删除指定网络链接
nmcli connection add type ethernet con-name westos ifname eth0 ip4 172.25.254.100/24 添加网络链接
nmcli connection modify westos ipv4.method auto 将westos链接改为动态网络
nmcli connection modify westos ipv4.method manual 将westos链接改为静态网络
nmcli connection modify westos ipv4.addrresses 172.25.254.200/24 修改westos链接的网络ip
注:静态网络设定好之后改为动态网络,可以更改。但是一开始就动设定为动态网络,更改为静态网络,会无法更改因为没有指定过ip。当给动态网络指定一个静态ip后再设定成静态的时候可以设定成功。
2.2.3 修改网络配置文件方式
/etc/sysconfig/network-scripts/ 配置文件所在目录
ifcfg-xxxx 网络配置文件的命令规则
配置文件修改格式:
DEVICE=xxxx 接口使用设备名称
BOOTPROTO=dhcp | static |none 设备工作方式:动态|静态|静态
ONBOOT=yes 网络服务开启时自动激活网卡
IPADDR= ip地址
PREFIX=24 子网掩码
NETMASK=255.255.255.0 子网掩码
NAME= 接口名称
示例1:
静态网络设定文件:vim /etc/sysconfig/network-scripts/ifcfg-westos
DEVICE=eth0
ONBOOT=yes
IPADDR=172.25.254.100
NETMASK=255.255.255.0
BOOTPROTO=none
示例2:dhcp网络设定
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
示例3:一块设备上配置多个ip
vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=yes
IPADDR0=172.25.254.100
NETMASK0=255.255.255.0
BOOTPROTO=none
NAME=westos
IPADDR1=172.25.0.100
PREFIX1=24
2.2.4 脚本方式
vim /bin/set_address.sh 建立网络配置脚本文件
chmod +x /bin/set_address.sh 给文件执行权限
#!/bin/bash
cat >> /etc/sysconfig/network-scripts/ifcfg-&1 <<EOF
DEVICE=&1
ONBOOT=yes
BOOTPROTO=none
IPADDR=$2
PREFIX=24
EOF
systemctl restart network
3 网关与路由
网关:从一个网络向另一个网络发送信息,也必须经过一道“关口”,这道关口就是网关。只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信。那么这个IP地址是哪台机器的IP地址呢?网关的IP地址是具有路由功能的设备的IP地址。简单来讲 ,网关为路由服务设备上和自己处在同一个网段的那个ip。
路由:路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程。具有路由功能,就是具有地址转换功能。
现在,我们两台虚拟机为例,讲解以及实现如何让不同网络段的主机进行通信。先将整体思路说明如下:
3.1、 将server虚拟机设置为两个网卡,拥有两个不同网络段172.25.54.92与 1.1.1.92,desktop虚拟机设置为其中一个网络段1.1.1.100。
3.2、 对server虚拟机修改设置,使其充当一个具有地址转换功能的路由器
3.3、将desktop的网关设置为路由器上和自己处在同一个网段的那个ip,1.1.1.92
3.4、在desktop检查1.1.1.100主机能否和172.25.254.92通信(ping通与否)
3.1 设置两台虚拟机
使用上面介绍的方法设置虚拟机,结果如下:
3.2 修改server虚拟机,使其具有地址转换功能
在配置文件/etc/sysctl.conf中:
3.3 修改desktop虚拟机网关
在配置文件/etc/sysconfig/network,设置网关
3.4 检测是否可以通信
可以通信,设置成功!
4 DNS:域名系统
4.1 DNS
DNS是一台服务器,这台服务器提供了回答客户主机名和ip对应关系的功能
4.2 设定本地解析文件
vim /etc/hosts
ip 域名
4.3 设定DNS
vim /etc/resolv.conf DNS配置文件
nameserver dns服务器ip 文件修改格式
vim /etc/sysconfig/network-scripts/ifcfg-网卡配置文件 也可以直接在网卡配置文件中指定DNS
DNS1=dns服务器ip 网卡配置文件修改格式
4.3 本地解析文件和dns读取的优先级调整
默认的是本地解析文件优先级高,通过配置文件/etc/nsswitch.conf来改变优先级
38 #hosts: db files nisplus nis dns
39 hosts: dns files ##files代表本地解析文件,dns代表dns服务器,哪个在前面哪个优先
5 DHCP:动态主机配置协议
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。
接下来,我们进行将desktop虚拟机配置成dhcp服务器,充当dhcp服务器的必须为静态网络。使用server虚拟机进行测试,是否能够动态获取ip,gateway,DNS。提前已经下载好dhcp的rpm包,安装完毕
)
5.1 修改dhcp服务器的配置文件
cp /user/share/doc/dhcp*/dhcp.conf.example dhcpd.conf 生成dhcp配置文件
vim dhcpd.conf 开始修改配置
36行以后全部删除
删除27、28行
修改7、8行区域名称与dns
修改30行之后的信息,规定地址范围,网络段,网关
修改完之后重启服务 systemctl restart dhcpd
5.2 在server虚拟机测试:
配置成功!
##########################End#############################
更多推荐
所有评论(0)