首页 > 其他分享 >openGauss/MogDB配置IPv6

openGauss/MogDB配置IPv6

时间:2024-04-08 15:56:57浏览次数:10  
标签:00 MogDB forever lft 64 2022 IPv6 openGauss

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,直接使用地址即可。

标签:00,MogDB,forever,lft,64,2022,IPv6,openGauss
From: https://www.cnblogs.com/helloopenGauss/p/18121358

相关文章

  • openGauss/MogDB零字节问题处理
    openGauss/MogDB零字节问题处理问题描述:java应用端程序调用GZIP压缩类对数据进行编码压缩后入库,然后从数据库取出进行解压,原来再mysql数据库中是正常的,但迁移到openGauss/mogdb之后,解压出来的数据是乱码,不正常。mysql端表结构如下:CREATETABLEtest(idbigint(20)......
  • openGauss系统函数添加指导
    openGauss系统函数添加指导1、函数架构简介openGauss内函数的可以分为两个部分:​身份注册声明:openGauss中存在一个系统表pg_proc,这个表存放了所有函数的基本元信息,相当于函数的“户口本”,只有在其中可以查到的函数,才可以在SQL语句中进行调用,才有“数据库函数”的身份。......
  • openGauss数据库源码解析——慢SQL检测
    openGauss数据库源码解析——慢SQL检测慢SQL检测的定义:基于历史SQL语句信息进行模型训练,并用训练好的模型进行SQL语句的预测,利用预测结果判断该SQL语句是否是潜在的慢SQL。当发现潜在的慢SQL后,开发者便可以进行针对性优化或者风险评估,以防业务上线后发生问题。慢......
  • openGauss单机部署
    openGauss单机部署一、安装环境操作系统:虚拟机VMware、CentOS7.9环境设置:(1)虚拟机内存3G、磁盘100G(2)系统版本修改一开始使用了centos8,无法安装,因此降低版本,选用7.9后依然存在一些问题,因此修改/etc/redhat-release文件中系统版本为CentOSLinuxrelease7.6(Core)(3)......
  • openGauss内存引擎中的索引
    一、索引索引是一种用于快速查询和检索数据的数据结构。常见的索引结构有:B树,B+树和Hash。索引的作用就相当于目录的作用。打个比方:我们在查字典的时候,如果没有目录,那我们就只能一页一页的去找我们需要查的那个字,速度很慢。如果有目录了,我们只需要先去目录里查找字的位置,......
  • 国产开源数据库OpenGauss的安装运行
    步骤一:OpenGauss的安装环境OS:openEuler20.0364bitwithARM架构:arm64部署:单机安装过程1、环境配置安装依赖包:yuminstalllibaio-develflexbisonncurses-develglibc-develpatchreadline-devel2、创建xml配置文件创建cluster_config.xml配置文件并进行配置......
  • openGauss学习笔记-257 openGauss性能调优-使用Plan Hint进行调优-Custom Plan和Gener
    文章目录openGauss学习笔记-257openGauss性能调优-使用PlanHint进行调优-CustomPlan和GenericPlan选择的Hint257.1功能描述257.2语法格式257.3示例openGauss学习笔记-257openGauss性能调优-使用PlanHint进行调优-CustomPlan和GenericPlan选择的Hint257.......
  • 宽带 IPv6 过段时间自动掉线要如何解决?
    本文首发于只抄博客,欢迎点击原文链接了解更多内容。前言最近发现青龙面板上的自动签到,每过4天就会提示签到失败,错误提示则是ETIMEDOUT通过systemctlrestartNetworkManager重启网络后,IPv6恢复正常通过查看路由器日志,发现每次报错前一天下午的五点半左右,运营商会......
  • 没有公网 IP 如何部署哪吒探针(适用于家里云 Nas、Nat VPS、IPv6 Only VPS)
    本文首发于只抄博客,欢迎点击原文链接了解更多内容。前言哪吒探针可以帮助我们监控多台服务器的实时状态,通常情况下,安装面板的机器需要拥有公网IP,才能接受Agent的数据,但我们可以通过CloudflareTunnels来实现无公网IP部署哪吒探针本文假设你已经按照官方文档安......
  • H3C 配置IPv6 DHCP服务器
    H3C交换机配置DHCPv6服务器官方文档:https://www.h3c.com/cn/d_202303/1810058_30005_0.htmIPv6地址计算器:https://www.838dz.com/calculator/5233.html配置调试场景将Router模拟为运营商链路将Switch模拟为DHCPv6服务器实现PC可以从Switch上获取ipv6地址实现上网拓扑......