openGauss/MogDB配置IPv6
openGauss/MogDB 配置 IPv6
openGauss/MogDB 支持多种网络接口,假如我们想在支持 IPv6 的网络上部署使用,只需简单操作即可,本文将介绍在 Centos 上如何配置使用。
关于 IPv6
IPv6(Internet Protocol Version 6),是 Internet Engineering Task Force (IETF)设计用于替代 IPv4 的下一代 IP 协议,使用 IPv6 能解决网络地址资源数量的问题。
我们使用 ipconfig /all 命令查看 windows 网络接口,会看到 IPv6 地址。
以太网适配器 以太网 7:
本地链接 IPv6 地址. . . . . . . . : fe80::828a:5e20:53cb:7719%6(首选)
IPv4 地址 . . . . . . . . . . . . : ...(首选)
Centos 下使用 ip addr 命令查看 linux 网络接口,也会看到 IPv6 地址。
ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet .../8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:b5:54:32 brd ff:ff:ff:ff:ff:ff
inet .../24 brd ... scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:feb5:5432/64 scope link
valid_lft forever preferred_lft forever
IPv6 分类
1.本地关联 IPv6
本地关联的 IPv6,是以 fe80 开头,与网卡的物理地址(MAC 地址)有关,不需要通过 DHCP 自动分配或者手工设置。
2.全局 IPv6
如果需要跨网络或者跨路由器进行通信,则需要使用全局的 IPv6。
创建全局 IPv6
创建全局 IPv6 有多种的方式,例如 DHCPv6、Stateless address autoconfiguration (SLAAC) 以及手工配置。
手工配置可以使用 ip 命令来配置:
ip -6 addr add 2022:1:0:0::db1/64 dev enp0s3
或者使用 ifconfig 命令来配置:
ifconfig enp0s3 inet6 add 2022:1:0:0::db1/64
通过上面任意一种方式配置后,可以看到 enp0s3 网络接口将增加一个 inet6,并且是 global 属性的。
ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet .../8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:b5:54:32 brd ff:ff:ff:ff:ff:ff
inet .../24 brd ... scope global enp0s3
valid_lft forever preferred_lft forever
inet6 2022:1::db1/64 scope global
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:feb5:5432/64 scope link
valid_lft forever preferred_lft forever
注意:上面 IPv6 字符串配置中有 db1,这符合 HEX 字符规则,非 HEX 字符则不允许设置,比如我们把 db 换成 dx,则会提示下面的错误信息。
ifconfig enp0s3 inet6 add 2022:1:0:0::dx1/64
2022:1:0:0::dx1: Resolver Error 0 (no error)
IPv6 连通性测试
在本地使用 ping6 进行连通性测试,先使用全局 IPv6 进行测试
ping6 2022:1::db1 -c3
PING 2022:1::db1(2022:1::db1) 56 data bytes
64 bytes from 2022:1::db1: icmp_seq=1 ttl=64 time=0.027 ms
64 bytes from 2022:1::db1: icmp_seq=2 ttl=64 time=0.047 ms
64 bytes from 2022:1::db1: icmp_seq=3 ttl=64 time=0.028 ms
--- 2022:1::db1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.027/0.034/0.047/0.009 ms
再使用本地关联 IPv6 进行测试,此时需要带上网络接口名称
ping6 fe80::a00:27ff:feb5:5432%enp0s3 -c3
PING fe80::a00:27ff:feb5:5432%enp0s3(fe80::a00:27ff:feb5:5432%enp0s3) 56 data bytes
64 bytes from fe80::a00:27ff:feb5:5432%enp0s3: icmp_seq=1 ttl=64 time=0.040 ms
64 bytes from fe80::a00:27ff:feb5:5432%enp0s3: icmp_seq=2 ttl=64 time=0.041 ms
64 bytes from fe80::a00:27ff:feb5:5432%enp0s3: icmp_seq=3 ttl=64 time=0.022 ms
--- fe80::a00:27ff:feb5:5432%enp0s3 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.022/0.034/0.041/0.010 ms
openGauss/MogDB 配置 IPv6
编辑 postgresql.conf 文件,修改监听参数
listen_addresses = '*'
修改完后重启服务,数据库将监听本机所有的网络接口。
编辑 pg_hba.conf 文件,添加数据库客户端连接的 IPv6 认证条目
host all all fe80::a00:27ff:feb5:5432/128 md5
host all all 2022:1::db1/128 md5
使用 gsql 客户端进行测试
1.使用本地关联 IPv6 进行测试,此时需要带上网络接口名称
$ gsql -h fe80::a00:27ff:feb5:5432%enp0s3 -Umoguser postgres -r -p6432
postgres=> \conninfo
You are connected to database "postgres" as user "moguser" on host "fe80::a00:27ff:feb5:5432%enp0s3" at port "6432".
postgres=> SELECT datname,usename, client_addr FROM pg_stat_activity where usename='moguser';
datname | usename | client_addr
----------+---------+--------------------------
postgres | moguser | fe80::a00:27ff:feb5:5432
(1 row)
2.使用全局 IPv6 进行测试
$ gsql -h 2022:1::db1 -Umoguser postgres -r -p6432
postgres=> \conninfo
You are connected to database "postgres" as user "moguser" on host "2022:1::db1" at port "6432".
postgres=> SELECT datname,usename, client_addr FROM pg_stat_activity where usename='moguser';
datname | usename | client_addr
----------+---------+-------------
postgres | moguser | 2022:1::db1
(1 row)
使用 java jdbc 进行测试
通过 java 程序 test.jar 包进行测试,test.jar 需要三个入参,分别是 jdbc url、jdbc username、jdbc password。
1.使用普通的 IPv4 进行测试
$ java -jar test.jar jdbc:postgresql://...:6432/postgres moguser Admin@1234
执行结果如下,可以看到数据库连接测试成功
Input jdbc url:jdbc:postgresql://...:6432/postgres
Input jdbc username:moguser
Connection test successfully.
2.使用本地关联 IPv6 进行测试,进行测试
$ java -jar test.jar jdbc:postgresql://fe80::a00:27ff:feb5:5432:6432/postgres moguser Admin@1234
执行结果如下,可以看到数据库连接测试成功
Input jdbc url:jdbc:postgresql://fe80::a00:27ff:feb5:5432:6432/postgres
Input jdbc username:moguser
Connection test successfully
3.使用全局 IPv6 进行测试
$ java -jar test.jar jdbc:postgresql://2022:1::db1:6432/postgres moguser Admin@1234
执行结果如下,可以看到数据库连接测试成功
Input jdbc url:jdbc:postgresql://2022:1::db1:6432/postgres
Input jdbc username:moguser
Connection test successfully.
总结
1.openGauss/MogDB 配置 IPv6 只需简单修改 listen_addresses = ‘*’ 即可。
2.使用 gsql 客户端进行连接时,本地关联 IPv6 还需要使用网络接口名进行访问,全局 IPv6 不需要。
3.使用 jdbc 客户端进行连接时,无论是本地关联 IPv6 还是全局 IPv6,直接使用地址即可。
openGauss/MogDB配置IPv6的更多相关文章
- nmcli配置ipv6
nmcli配置ipv6 作者:Eric 微信:loveoracle11g [root@racooler ~]# nmcli connection show eno16777736 | grep ipv ...
- 在 Linux 中自动配置 IPv6 地址
在 Linux 中自动配置 IPv6 地址 在本文中,我们将学习如何为 ULA 自动配置 IP 地址. 何时使用唯一本地地址 唯一本地地址unique local addresses(ULA)使用 f ...
- 在 Windows 中为高级用户配置 IPv6 的指南
在 Windows 中为高级用户配置 IPv6 的指南 适用于: Windows 10, version 1809Windows Server 2019, all versionsWindows Se ...
- 第11章 拾遗4:IPv6(3)_配置IPv6路由
5. 配置IPv6路由 5.1 配置IPv6静态路由 (1)在路由器上配置静态路由(以R1路由器为例) //静态路由 R1#config t R1(config)#ipv6 unicast-routi ...
- 第11章 拾遗4:IPv6(2)_给计算机配置IPv6地址
4. 给计算机配置IPv6地址 4.1 无状态自动配置IPv6地址 (1)网络拓扑 ①无状态地址自动配置是指不需要DHCP服务器进行管理,由客户端向路由器发送前缀请求(RS)询问其所在网段.路由器收到 ...
- IPv6系列-彻底弄明白有状态与无状态配置IPv6地址
深入研究自动分配IPv6地址的Stateless(无状态)与Stateful(有状态)方式 小慢哥的原创文章,欢迎转载 目录 ▪ 一. Link-Local Address的生成方式 ▪ 二. Glo ...
- 工程师技术(一):启用SELinux保护、自定义用户环境、配置IPv6地址、配置聚合连接、配置firewalld防火墙
一.启用SELinux保护 目标: 本例要求为虚拟机 server0.desktop0 配置SELinux: 确保 SELinux 处于强制启用模式 在每次重新开机后,此设置必须仍然有效 方案: SE ...
- 配置IPv6公网地址DDNS并开放外网访问端口
目前使用三大运营商宽带服务都会下发公网IPv6地址,这样我们想要在外网访问家里的路由.NAS等设备就可以直接通过IPv6地址来访问了.但是每次重新拨号后IPv6地址都会改变,而且IPv6的地址很长,这 ...
- 配置IPv6地址跳变——网络测试仪实操
第一部分:什么是IPv6地址跳变? IPv6地址跳变是指IPv6地址进行一系列有规则的变化,Renix支持对IPv6地址进行递增.递减.列表和随机变化. 如当用户想要仿真大量的源IPv6地址变化的数据 ...
- Linux之如何配置IPV6网络
配置IPV6地址小笔记 #例题: 1)为server添加一个IPv6地址fd00:ba5e:ba11:10::10/64: 2)为client添加一个IPv6地址fd00:ba5e:ba11:10:: ...
随机推荐
- Linux查看文件大小、磁盘使用情况
1.显示磁盘的可用情况: df -h 2.显示文件夹大小 du -ka folder | sort -rnk 1 | head -n 10
- 【Azure 应用服务】用App Service部署运行 Vue.js 编写的项目,应该怎么部署运行呢?
问题描述 用App Service部署运行 Vue.js 编写的项目,应该怎么部署运行呢? 问题解答 VUE通常是运行在客户端侧的JS框架. App Service 在这种场景中是以静态文件的形式提供 ...
- C语言趣味编程之三天打鱼两天晒网
include <stdio.h> typedef struct date {//定义一个日期结构体date,三个成员变量year\month\day,使得年月日作为一个整体,相互联系. ...
- 使用svgo-loader只对部分文件生效
svgo-loader配合svg-sprite-loader使用,网上教程很多,不赘述 const svgRule = config.module.rule("svg-sprite" ...
- CYQ.Data 支持 KingbaseES人大金仓数据库
KingbaseES人大金仓数据库介绍: KingbaseES是一种关系型数据库管理系统,也被称为人大金仓数据库.KingbaseES 是北京人大金仓信息技术股份有限公司研发的,具有自主知识产权的通用 ...
- Apollo获取配置异常:Load config failed, will retry in 1 SECONDS
一.现象 apollo开启秘钥,服务获取配置参数需要启动参数中添加:jvm参数-Dapollo.accesskey.secret=XXX.日志如下: 二.解决方案 应用服务器时间异常,重置应用服务器时 ...
- linux 前端 jenkins打包失败 permission 权限安装 root 安装nodejs,没有权限,另一个账号,需要chmod将文件权限打开
linux 前端 jenkins打包失败 permission 权限安装 root 安装nodejs,没有权限,另一个账号,需要chmod将文件权限打开 开始以为nodejs版本问题 最后发现是安装n ...
- 制作B站直播简介
本文只用于个人总结备份,如果对你有帮助就更好了. 准备工作 准备好简介要用的的背景图.头像图,上传到图床生成图片链接. 简介的内容可分为主播简介.直播时间.直播内容.联系方式,内容根据实际需要修改,需 ...
- Debian打开架构支持
第一步检查内核有没有 AMD和i386 dpkg --list | grep linux-image 会出现现在电脑上的内核,可以看到支持的架构 dpkg --print-foreign-archi ...
- 【机器学习】统计学习方法读书笔记-EM算法(期望最大化算法)
Expectation Maximization,EM算法是带有隐变量的概率模型参数的极大似然估计(MLE为给定参数,观测数据出现/生成的可能性). 如下为<统计机器学习>中对应EM算法的 ...