Shell脚本学习-阶段十二-在CentOS 7上给一个网卡分配多个IP地址
文章目录-Shell阶段十二-在CentOS 7上给一个网卡分配多个IP地址
- 前言
- 在CentOS 7上给一个网卡分配多个IP地址
- 总结
前言
在CentOS 7上给一个网卡分配多个IP地址
有时你也许想要给一个网卡多个地址。你该怎么做呢?另外买一个网卡来分配地址?
在小型网络中其实不用这么做。我们现在可以在CentOS/RHEL 7中给一个网卡分配多个ip地址。
想知道怎么做么?好的,跟随我,这并不难。
首先,让我们找到网卡的IP地址。在我的CentOS 7服务器中,我只使用了一个网卡。
用root特权运行下面的命令:
ip addr
示例输出:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 08:00:27:80:63:19 brd ff:ff:ff:ff:ff:ffinet 192.168.1.150/24 brd 192.168.1.255 scope global enp0s3valid_lft forever preferred_lft forever
如上所见,我的网卡名是enp0s3,ip地址是192.168.1.150。
如你所知,网卡的配置文件存储在 /etc/sysconfig/network-scripts/ 目录下。每个网卡的详细内容将会以不同的名字存储,比如ifcfg-enp0s3。
让我们看下ifcfg-enp0s3的细节。
cat /etc/sysconfig/network-scripts/ifcfg-enp0s3
示例输出:
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="e9f9caef-cb9e-4a19-aace-767c6ee6f849"
ONBOOT="yes"
HWADDR="08:00:27:80:63:19"
IPADDR0="192.168.1.150"
PREFIX0="24"
GATEWAY0="192.168.1.1"
DNS1="192.168.1.1"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
好的,现在我们将在相同的子网中分配多个地址了。
编辑文件 /etc/sysconfig/network-scripts/ifcfg-enp0s3:
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
像下面那样加入额外的IP地址。
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="933cdc9b-b383-4ddd-b219-5a72c69c9cf0"
ONBOOT="yes"
HWADDR="08:00:27:3F:AB:68"
IPADDR0="192.168.1.150"
IPADDR1="192.168.1.151"
IPADDR2="192.168.1.152"
PREFIX0="24"
GATEWAY0="192.168.1.1"
DNS1="192.168.1.1"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
如你所见,我已经加了两个IP地址:IPADDR1=”192.168.1.151″ & IPADDR2=”192.168.1.152″
类似地,你可以加入更多的ip地址。
最后,保存并退出文件。重启网络服务来使更改生效。
systemctl restart network
现在,让我们检查是否已经加入了ip地址。
ip addr
示例输出:
: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000link/ether 08:00:27:3f:ab:68 brd ff:ff:ff:ff:ff:ffinet 192.168.1.150/24 brd 192.168.1.255 scope global enp0s3valid_lft forever preferred_lft foreverinet 192.168.1.151/24 brd 192.168.1.255 scope global secondary enp0s3valid_lft forever preferred_lft foreverinet 192.168.1.152/24 brd 192.168.1.255 scope global secondary enp0s3valid_lft forever preferred_lft foreverinet6 fe80::a00:27ff:fe3f:ab68/64 scope link valid_lft forever preferred_lft forever
如你所见,单个网卡已经有3个ip地址了。
让我们ping一下新增的IP地址:
ping -c 4 192.168.1.151
示例输出:
PING 192.168.1.151 (192.168.1.151) 56(84) bytes of data.
64 bytes from 192.168.1.151: icmp_seq=1 ttl=64 time=0.048 ms
64 bytes from 192.168.1.151: icmp_seq=2 ttl=64 time=0.075 ms
64 bytes from 192.168.1.151: icmp_seq=3 ttl=64 time=0.077 ms
64 bytes from 192.168.1.151: icmp_seq=4 ttl=64 time=0.077 ms
--- 192.168.1.151 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.048/0.069/0.077/0.013 ms
ping -c 4 192.168.1.152
示例输出:
PING 192.168.1.152 (192.168.1.152) 56(84) bytes of data.
64 bytes from 192.168.1.152: icmp_seq=1 ttl=64 time=0.034 ms
64 bytes from 192.168.1.152: icmp_seq=2 ttl=64 time=0.075 ms
64 bytes from 192.168.1.152: icmp_seq=3 ttl=64 time=0.073 ms
64 bytes from 192.168.1.152: icmp_seq=4 ttl=64 time=0.075 ms
--- 192.168.1.152 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.034/0.064/0.075/0.018 ms
如果你想要使用不同的子网,你要改变PREFIX0=24成不同的子网,比如 PREFIX1=16。
比如,我想要添加一个A类地址(*比如10.0.0.1)到我的网卡中。
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="933cdc9b-b383-4ddd-b219-5a72c69c9cf0"
ONBOOT="yes"
HWADDR="08:00:27:3F:AB:68"
IPADDR0="192.168.1.150"
IPADDR1="192.168.1.151"
IPADDR2="192.168.1.152"
IPADDR3="10.0.0.1"
PREFIX0="24"
PREFIX1=16
GATEWAY0="192.168.1.1"
DNS1="192.168.1.1"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
你可以看到我已经添加一个A类地址(10.0.0.1)并且前缀是16。
保存并退出文件。重启网络服务,接着,ping新增的地址:
ping -c 4 10.0.0.1
示例输出:
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=0.097 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=0.073 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=0.074 ms
64 bytes from 10.0.0.1: icmp_seq=4 ttl=64 time=0.075 ms
--- 10.0.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
rtt min/avg/max/mdev = 0.073/0.079/0.097/0.014 ms
相似地,你可以添加不同的网关。
就是这样。
总结
Shell脚本学习-阶段十二-在CentOS 7上给一个网卡分配多个IP地址相关推荐
- Shell脚本学习-阶段十-Bash脚本实现每次登录Shell时可以查看Linux系统信息
文章目录-Shell-阶段十-Bash脚本实现每次登录Shell时可以查看Linux系统信息 前言 总结 前言 # Bash脚本实现每次登录Shell时可以查看Linux系统信息 vi /opt/sc ...
- Shell脚本学习-阶段十六-备份和恢复系统权限
文章目录 前言 1.安装ACL工具 2.备份当前目录下(包括子目录)所有文件权限 3.修改某一文件权限,如:修改linuxprobe.txt及install.txt权限 4.恢复原有权限 总结 前言 ...
- Shell脚本学习-阶段二
文章目录-Shell脚本学习阶段二 前言 shell脚本实操2 1.获取随机字符串或数字 2.定义一个颜色输出字符串函数 3.批量创建用户 4.检查软件包是否安装 5.检查服务状态 6.检查主机存活状 ...
- Shell脚本学习-阶段二十六-Web服务与端口
文章目录-Shell阶段二十六-端口与服务对照表 前言 端口与Web服务对照表 简介 前言 端口与Web服务对照表 2端口:管理实用程序 3端口:压缩进程 5端口:远程作业登录 7端口:回显 9端口: ...
- Shell脚本学习-阶段二十八-shell练习二
文章目录-练习2 前言 1.编写shell脚本程序,完成如下功能: 输出hello world ! 2.编写shell脚本程序,完成如下功能: 输入你的姓名,输出 hello, nice to mee ...
- Shell脚本学习-阶段二十七-命令解释二
文章目录-命令解释二 前言 emacs jed joe nano================ pico sed=================== vi,vim============ mtyp ...
- Shell脚本学习-阶段二十七-命令解释三
文章目录 前言 quyotastats repquota convertquota swapoff swapon sync chroot getent last lastb lastlog logro ...
- Shell脚本学习-阶段二十七-命令解释一
文章目录-命令解释一 前言 as expr gcc gcov gdb indent ld ldconfig ldd make mktemp nm objdump perl php protoize u ...
- Shell脚本学习-阶段三
文章目录-Shell学习阶段三 前言 1.用shell脚本批量建立Linux用户 2. 编写shell脚本,将/usr/local/test目录下大于100k的文件转移到/tmp目录下: 3.通过ap ...
最新文章
- JavaScript获取浏览器、元素、屏幕的宽高尺寸
- Oracle ADG vs DG
- 处理程序“WebServiceHandlerFactory-Integrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
- LeetCode 12 Integer to Roman (整数转罗马数字)
- Django 权限管理
- 解决idea 控制台中文乱码
- php打补丁,PHPMailer库打补丁后漏洞仍然存在,怎么解?
- bat 连续读取两行_Redis底层数据结构解析(BAT大厂必问)
- 关于抽象类与接口的理解
- Zabbix网络设备常用的SNMP OID
- vivado.2019.1 安装教程
- 数据库之SQL笛卡尔积
- NOI题库练习1.4(08)
- 库文件 c语言 编译器,抽取VS文件组成类GCC的编译器,并编译C程序为dll动态链接库...
- 如何参与淘宝活动?活动怎样做才能快速爆单?
- CocosCreator Effect (Shader) - 反九宫格就(Sliced)补偿
- 如何让文字下划线border-bottom和文字的长度一致
- 监控视频行为分析算法
- 计算机更改显卡,为你解答笔记本电脑怎么更换显卡
- 短信验证码有什么限制?
热门文章
- Jrebel实现tomcat热部署,遇到的问题以及解决办法,详解
- 解决IntelliJ IDEA 创建Maven项目速度慢问题 DarchetypeCatalog
- IE浏览器“SEC7113: CSS 因 Mime 类型不匹配而被忽略”问题的解决方法
- Sping Environment为Null的原因和解决方法
- axios请求中跨域及post请求问题解决方案
- 如何确定类型是否使用C#反射实现接口
- php cookie防伪造,技术分享:Cookie 防伪造 防修改
- win7旗舰版系统如何重装系统win10
- win11华为的电脑管家错误怎么办 Windows11华为电脑管家错误的解决方法
- mave构建docker镜像Dokerfile,上传华为云镜像服务器CCE