多公网IP配置 公网ip配置服务器
nanshan 2024-12-29 04:52 17 浏览 0 评论
背景
面对某些客户做视频、网站类业务场景,一部分机器会因为流量过大,导致单个网卡流量打满,所以需要配置多个网卡,每个网卡配置一个公网IP地址,一般来说,eth0配置一个公网IP,eth1配置一个公网IP+一个内网IP。
声明:由于业务需要绑定双网卡的同时,第一块网卡还存在ipv6地址,故此centos8系统可以使用nmcli 命令行形式进行配置;centos6和7因版本bug不兼容,使用配置文件形式进行处理。
网络拓扑图:
一、centos8系统
01
查看连接的网卡信息
nmcli con show
enp1s0f0 xxx ethernet enp1s0f0
enp1s0f1 xxx ethernet enp1s0f1
nmcli 命令是centos8网卡配置的常用命令,这里简单给大家介绍一下:
nmcli network #查看networkmanager是否接入网络配置,如返回结果为enabled则表示接入
nmcli n #缩写
接入networkmanager命令
nmcli n on
取消接入
nmcli n off
显示networkmanager状态
nmcli g s #这里直接用缩写比较方便
查看当前网卡连接状态(简单来说就是你配置了几块在运行的网卡)
nmcli con show
删除网卡
nmcli con del xxx(网卡名称或uuid)
添加网卡
nmcli connection add ifname 网卡名 autoconnect yes type ethernet ipv4.addresses ip地址/子网掩码 ipv4.gateway 网关
重启网络配置文件
nmcli con reload
重启网卡
nmcli con up 网卡名
修改网卡配置信息:
# 修改指定网卡的ip地址和子网掩码
nmcli connection modify 网卡名 ipv4.addresses ip地址/子网掩码
# 修改指定网卡的ip地址和子网掩码以及网关
nmcli connection modify 网卡名 ipv4.addresses ip地址/子网掩码 ipv4.gateway 网关
# 修改指定网卡的ip地址和子网掩码、网关以及DNS
nmcli connection modify 网卡名 ipv4.addresses ip地址/子网掩码 ipv4.gateway 网关 ipv4.dns dns地址
# 添加第二个ip
nmcli connection modify eth1 +ipv4.addresses ip地址/子网掩码
# 删除第二个ip
nmcli connection modify eth1 -ipv4.addresses ip地址/子网掩码
# 添加第二个DNS
nmcli connection modify eth1 +ipv4.dns dns地址
# 删除第二个DNS
nmcli connection modify eth1 +ipv4.dns dns地址
# 修改为静态配置,默认是 auto
nmcli c m eth1 ipv4.method manual
# 将 IPv6 禁用
nmcli c m ens22 ipv6.method disabled
# 开机启动
nmcli c m ens22 connection.autoconnect yes
02
删除所有配置
(注意,此处会断网,所以操作的时候对两个网卡分别操作,或者在远程控制台操作)
nmcli con del xxx #第一块网卡
nmcli con del xxx #第二块网卡
注意:确认在云上的oss外网地址绑定的是第几块网卡,如果是第一块网卡,建议先删除第二块网卡,等到第二块网卡绑定成功后,远程可以登陆,在对一块网卡进行删除操作
03
新创建两个网卡,其中网卡2包含两个ip(ipv4)
nmcli con add type ethernet con-name xxx ifname xxx ipv4.method manual ipv4.address 198.xxx/24 ipv4.gateway 198.xxx ipv4.dns 1.1.1.1
nmcli con add type ethernet con-name xxx ifname xxx ipv4.method manual ipv4.addresses 51.xxx/27,192.xxx/24 ipv4.dns 8.8.8.8
注意:这里ifname前后的网卡名称并不一样,不要写错了,要根据实际情况通过命令ip a查看具体网卡信息在操作
04
对网卡2分别增加路由表以及对应策略路由
(+ 是新增加配置,-是减少配置,无符号这是替代)
nmcli con modify 网卡名 +ipv4.routes "192.168.0.0/16 192.168.xxx.1,0.0.0.0/0 网卡2ip地址 table=100 src=xxx"
nmcli con modify 网卡名 +ipv4.routing-rules "priority 100 from 51.xxx/27 table 100"
注意:这里的table 100 指的是(table_id) 路由表,如果不指定就会加入到默认路由表中
05
加载配置
nmcli con reload
06
重新激活对应的网卡
nmcli con up 网卡1名称
nmcli con up 网卡2名称
07
查看默认路由信息
ip route show
192.168.0.0/16 via 192.168.xxx.1 dev xxx proto static metric 104
08
查看路由表100的路由信息
ip route show table 100
default via 51.xxx dev 网卡2名称 proto static src 网卡2ip地址 metric 104
51.xxx dev 网卡2名称 proto static scope link src 网卡2ip地址 metric 104
09
查看策略路由信息
ip rule show
100: from 51.xxx/27 lookup 100
10
配置第一块网卡 ipv6地址
[root@xxx network-scripts]# cat ifcfg-ethxx
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
IPADDR=198.xxx
PREFIX=24
GATEWAY=198.xxx
DNS1=1.1.1.1
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=xxx
UUID=xxx
DEVICE=xxx
ONBOOT=yes
NS1=2001:xxx
IPV6ADDR=xxx/64
IPV6INIT=yes
IPV6_DEFAULTGW=2001:xxx:00ff
11
重启网卡1
nmcli con reload
nmcli con up 网卡1名称
12
测试ipv6 地址是否生效
[root@xxx network-scripts]# ping6 2001:xxx:00ff
PING 2001:xxx:00ff(2001:xxx:ff) 56 data bytes
64 bytes from 2001:xxx:ff: icmp_seq=1 ttl=64 time=0.577 ms
64 bytes from 2001:xxx:ff: icmp_seq=2 ttl=64 time=0.534 ms
64 bytes from 2001:xxx:ff: icmp_seq=3 ttl=64 time=0.747 ms
^C
--- 2001:xxx:00ff ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2070ms
rtt min/avg/max/mdev = 0.534/0.619/0.747/0.094 ms
二、centos6和7系统
内?IP: 192.168.xxx
内??关: 192.168.xxx.1
公?ip: 15.xxx
公???: 255.255.255.192
公??关: 15.xxx
cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
IPADDR=192.168.xxx
IPADDR1=15.xxx
NETMASK=255.255.255.0
NETMASK1=255.255.255.192
ONBOOT=yes
02
配置路由(ipv4)
cat /etc/sysconfig/network-scripts/route-eth1
default via 15.xxx dev eth1 src 15.xxx table wan1
192.168.0.0/16 via 192.168.xxx.1
03
配置路由策略(ipv4)
cat /etc/sysconfig/network-scripts/rule-eth1
from 15.xxx table wan1 pref 100
04
eth0网卡增加IPv6配置
[root@xxx network-scripts]# cat ifcfg-eth0
# Created by cloud-init on instance boot automatically, do not edit.
#
BOOTPROTO=static
DEVICE=eth0
HWADDR=0C:xxx:44
ONBOOT=yes
STARTMODE=auto
TYPE=Ethernet
USERCTL=no
PROXY_METHOD=none
BROWSER_ONLY=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=eth0
UUID=xxx
IPADDR=145.xxx
NETMASK=255.255.255.0
GATEWAY=145.xxx
DNS1=1.1.1.1
NS1=2001:41d0:xxx::1
IPV6ADDR=2001:xxx::/64
IPV6INIT=yes
#IPV6_DEFAULTGW=2001:xxxx:00ff #注释掉ipv6网关
05
配置eth0 ipv6路由
[root@xxx network-scripts]# cat route6-eth0
2001:xxxx:00ff dev eth0
default via 2001:xxxx:00ff
06
关闭NetworkManager,重启network
因centos6和7的系统和centos8系统使用nmcli 命令配置默认网关0.0.0.0/0 地址有bug,不支持/0掩码,故关闭NetworkManager,使用network
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl restart network
07
测试网卡配置是否生效
[root@xxx network-scripts]# ping6 2001:xxx:00ff
PING 2001:xxx:00ff (2001:xxx:00ff ) 56 data bytes
64 bytes from 2001:xxx:00ff: icmp_seq=1 ttl=64 time=0.904 ms
64 bytes from 2001:xxx:00ff: icmp_seq=2 ttl=64 time=1.24 ms
64 bytes from 2001:xxx:00ff: icmp_seq=3 ttl=64 time=0.670 ms
^C
--- 2001:xxx:00ff ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.670/0.940/1.246/0.236 ms
使用测试工具测试IPV6地址是否有效 :https://ipw.cn/ipv6ping/
三、总结
多公网IP的优势主要包括:
- 提高了网络安全性:多公网IP可以将不同的网络设备分别使用不同的公网IP,从而增强了网络安全性,也防止了黑客攻击和网络入侵。
- 保障了业务连续性:尤其是在做网站或者视频类的业务场景,多公网IP极大的避免了当某个IP出现故障时,可以使用备用的公网IP,保障业务的连续性。
- 提高网络质量:多公网IP可以更充分的分配网络流量,从而减少网络拥堵,提高用户的观看体验。
- 便于管理:可根据不同的业务需求进行资源的分配和管理,比如视频业务用IP1,音频类业务用IP2,后续也方便运维开发等人员进行监控和维护。
相关推荐
- 雷军1994年写的老代码曝光,被称像诗一样优雅
-
大数据文摘授权转载自程序员的那些事雷军的代码像诗一样优雅↓↓↓有些网友在评论中质疑,说雷军代码不会是“屎”一样优雅吧。说这话的网友,也许是开玩笑的,也许是真没看过雷军写过的代码。在2011年的时候,我...
- 原创经验分享:低级bug耗费12小时Fix
-
调试某程序非常简单的程序,简单到认为不可能存在缺陷,但该BUG处理时间超过12小时:程序属于后台进程,监控系统每隔15秒检查外设IO状态,IO异常后发出报警或复位外设,外设都在linux下有/sys/...
- SpringBoot实现的简单停车位管理系统附带导入和演示教程视频
-
这一次为大家带来的是简单的停车位管理系统,基于SpringBoot+Thymeleaf+Mybatis框架,这个系统相对来说比较简单,很容易学习并快速上手,因为逻辑很清晰,没有太复杂的代码逻辑,所以学...
- 一个开箱即用的代码生成器(代码自动生成工具开源)
-
今天给大家推荐一个好用的代码生成器,名为renren-generator,该项目附带前端页面,可以很方便的选择我们所需要生成代码的表。首先我们通过git工具克隆下来代码(地址见文末),导入idea。...
- 【免费开源】JeecgBoot单点登录源码全部开源了
-
JeecgBoot单点登录源码全部开源了,有需要的朋友可以来薅羊毛了。一、JeecgBoot介绍JeecgBoot是一款企业级的低代码平台!前后端分离架构SpringBoot2.x,SpringCl...
- SpringBoot+JWT+Shiro+Mybatis实现Restful快速开发后端脚手架
-
作者:lywJee来源:cnblogs.com/lywJ/p/11252064.html一、背景前后端分离已经成为互联网项目开发标准,它会为以后的大型分布式架构打下基础。SpringBoot使编码配置...
- 为什么越来越多的人选择使用idea软件
-
IDEA软件是什么?IDEA软件是干什么的?为什么越来越多的人选择使用IDEA软件?IDEA软件,全称IntelliJIDEA,它是由JetBrains公司开发开发的一款功能强大的集成开发环境(ID...
- 开题报告大学生互助系统(附源码)java毕设
-
本系统(程序+源码)带文档lw万字以上文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容选题背景随着互联网技术的飞速发展,大学生群体对信息共享与互助的需求日益增长。关于大...
- SpringBoot项目快速开发框架JeecgBoot——项目简介及系统架构!
-
项目简介及系统架构JeecgBoot是一款基于SpringBoot的开发平台,它采用前后端分离架构,集成的框架有SpringBoot2.x、SpringCloud、AntDesignof...
- 新手配电脑13代CPU怎么选择(新手配电脑13代cpu怎么选择好)
-
Intel第13代酷睿i3、i5、i7、i9系列处理器的核心参数、性能差异及适用群体的详细说明(以桌面端为例):一、13代酷睿全系参数对比(桌面端主流型号)参数i3-13100i5-13600Ki7-...
- 加速 SpringBoot 应用开发,官方热部署神器真带劲
-
平时使用SpringBoot开发应用时,修改代码后需要重新启动才能生效。如果你的应用足够大的话,启动可能需要好几分钟。有没有什么办法可以加速启动过程,让我们开发应用代码更高效呢?今天给大家推荐一款Sp...
- 基于微信小程序的移动端物流系统-计算机毕业设计源码+LW文档
-
摘要随着Internet的发展,人们的日常生活已经离不开网络。未来人们的生活与工作将变得越来越数字化,网络化和电子化。网上管理,它将是直接管理移动端物流系统app的最新形式。本论文是以构建移动端物流系...
- springboot教务管理系统+微信小程序云开发附带源码
-
今天给大家分享的程序是基于springboot的管理,前端是小程序,系统非常的nice,不管是学习还是毕设都非常的靠谱。本系统主要分为pc端后台管理和微信小程序端,pc端有三个角色:管理员、学生、教师...
- SpringBoot全家桶:23篇博客加23个可运行项目让你对它了如指掌
-
SpringBoot现在已经成为Java开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。本项目对目前Web开发中常用的各个技术,通过和SpringBoot的集成,并且对各种技术通...
- Maven+JSP+Servlet+C3P0+Mysql实现的音乐库管理系统
-
本系统基于Maven+JSP+Servlet+C3P0+Mysql实现的音乐库管理系统。简单实现了充值、购买歌曲、poi数据导入导出、歌曲上传下载、歌曲播放、用户注册登录注销等功能。难度等级:简单技术...
你 发表评论:
欢迎- 一周热门
-
-
UOS服务器操作系统防火墙设置(uos20关闭防火墙)
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
如何修复用户配置文件服务在 WINDOWS 上登录失败的问题
-
手机如何设置与显示准确时间的详细指南
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
NAS:DS video/DS file/DS photo等群晖移动端APP远程访问的教程
-
日本海上自卫队的军衔制度(日本海上自卫队的军衔制度是什么)
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
10个免费文件中转服务站,分享文件简单方便,你知道几个?
-
FANUC 0i-TF数据备份方法(fanuc系统备份教程)
-
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)