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的更多相关文章

  1. nmcli配置ipv6

    nmcli配置ipv6 作者:Eric 微信:loveoracle11g [root@racooler ~]# nmcli connection show eno16777736 | grep ipv ...

  2. 在 Linux 中自动配置 IPv6 地址

    在 Linux 中自动配置 IPv6 地址 在本文中,我们将学习如何为 ULA 自动配置 IP 地址. 何时使用唯一本地地址 唯一本地地址unique local addresses(ULA)使用 f ...

  3. 在 Windows 中为高级用户配置 IPv6 的指南

    在 Windows 中为高级用户配置 IPv6 的指南 适用于: Windows 10, version 1809Windows Server 2019, all versionsWindows Se ...

  4. 第11章 拾遗4:IPv6(3)_配置IPv6路由

    5. 配置IPv6路由 5.1 配置IPv6静态路由 (1)在路由器上配置静态路由(以R1路由器为例) //静态路由 R1#config t R1(config)#ipv6 unicast-routi ...

  5. 第11章 拾遗4:IPv6(2)_给计算机配置IPv6地址

    4. 给计算机配置IPv6地址 4.1 无状态自动配置IPv6地址 (1)网络拓扑 ①无状态地址自动配置是指不需要DHCP服务器进行管理,由客户端向路由器发送前缀请求(RS)询问其所在网段.路由器收到 ...

  6. IPv6系列-彻底弄明白有状态与无状态配置IPv6地址

    深入研究自动分配IPv6地址的Stateless(无状态)与Stateful(有状态)方式 小慢哥的原创文章,欢迎转载 目录 ▪ 一. Link-Local Address的生成方式 ▪ 二. Glo ...

  7. 工程师技术(一):启用SELinux保护、自定义用户环境、配置IPv6地址、配置聚合连接、配置firewalld防火墙

    一.启用SELinux保护 目标: 本例要求为虚拟机 server0.desktop0 配置SELinux: 确保 SELinux 处于强制启用模式 在每次重新开机后,此设置必须仍然有效 方案: SE ...

  8. 配置IPv6公网地址DDNS并开放外网访问端口

    目前使用三大运营商宽带服务都会下发公网IPv6地址,这样我们想要在外网访问家里的路由.NAS等设备就可以直接通过IPv6地址来访问了.但是每次重新拨号后IPv6地址都会改变,而且IPv6的地址很长,这 ...

  9. 配置IPv6地址跳变——网络测试仪实操

    第一部分:什么是IPv6地址跳变? IPv6地址跳变是指IPv6地址进行一系列有规则的变化,Renix支持对IPv6地址进行递增.递减.列表和随机变化. 如当用户想要仿真大量的源IPv6地址变化的数据 ...

  10. Linux之如何配置IPV6网络

    配置IPV6地址小笔记 #例题: 1)为server添加一个IPv6地址fd00:ba5e:ba11:10::10/64: 2)为client添加一个IPv6地址fd00:ba5e:ba11:10:: ...

随机推荐

  1. NodeJS本地公用类库

    git + npm link 先来看一下npm install 文档. npm 支持安装 git 仓库,支持 git , git+ssh , git+http , git+https , or git ...

  2. 一文详解云上自动化部署集群管理工具 Nebula Operator

    本文首发于 Nebula Graph 公众号:Nebula Operator 开源啦!一文详解这个云上自动化部署集群管理工具 在介绍 Nebula Operator 之前,让我们先来了解下什么是 Op ...

  3. linux基本知识汇总1(基础命令) 20000字汇总

    $$$$ 命令选项查看方式1.内建命令(help)格式: help + 内建命令#### help 命令 // 命令使用说明 2.外部命令(–help)一般是 Linux 命令自带的帮助信息,并不是所 ...

  4. Tomcat8.5简介

    1. Tomcat简介[1] Apache Tomcat是Servlet/JSP的容器.Tomcat8.5 实现了由 JCP 组织 (Java Community Process) 制定的Servle ...

  5. Netty笔记(5) - 编码解码机制 和 Protobuf技术

    介绍: 编写网络应用程序时,因为数据在网络中传输的都是二进制字节码数据,在发送数据时就需要编码,接收数据时就需要解码 codec(编解码器) 的组成部分有两个:decoder(解码器)和 encode ...

  6. Java 从键盘输入不确定的整数 并判断读入的整数和负数的个数,输入0时候结束

    1 /** 2 * 从键盘输入不确定的整数 并判断读入的整数和负数的个数,输入0时候结束 3 * 4 */ 5 6 Scanner scan = new Scanner(System.in); 7 8 ...

  7. 使用内网nginx代理rancher

    需求: rancher 部署在 192.168.188.167服务器上 控制台访问地址 https://192.168.188.167:8443 在本地只有192.168.80.111有权限访问, 需 ...

  8. 在Linux下开启指定端口号

    1.查看某个端口是否已开启,如果提示no表示未开启 #8888表示要查询的端口号firewall-cmd --query-port=8888/tcp 2.永久开启端口号,提示 success 表示成功 ...

  9. 【stars-one】星念音乐下载器

    一款可将各个音乐网站可在线播放的音乐保存到本地的软件,目前暂且支持网易云音乐 获取软件 星念音乐下载器pc版v1.5 https://www.ilanzou.com/s/CI7zaWz 星念音乐下载器 ...

  10. 文心一言 VS 讯飞星火 VS chatgpt (216)-- 算法导论16.2 3题

    三.假定在 0-1 背包问题中,商品的重量递增序与价值递减序完全一样.设计一个高效算法求此背包问题的变形的最优解,证明你的算法是正确的.如果要写代码,请用go语言. 文心一言: 在0-1背包问题中,如 ...