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:: ...
随机推荐
- NodeJS本地公用类库
git + npm link 先来看一下npm install 文档. npm 支持安装 git 仓库,支持 git , git+ssh , git+http , git+https , or git ...
- 一文详解云上自动化部署集群管理工具 Nebula Operator
本文首发于 Nebula Graph 公众号:Nebula Operator 开源啦!一文详解这个云上自动化部署集群管理工具 在介绍 Nebula Operator 之前,让我们先来了解下什么是 Op ...
- linux基本知识汇总1(基础命令) 20000字汇总
$$$$ 命令选项查看方式1.内建命令(help)格式: help + 内建命令#### help 命令 // 命令使用说明 2.外部命令(–help)一般是 Linux 命令自带的帮助信息,并不是所 ...
- Tomcat8.5简介
1. Tomcat简介[1] Apache Tomcat是Servlet/JSP的容器.Tomcat8.5 实现了由 JCP 组织 (Java Community Process) 制定的Servle ...
- Netty笔记(5) - 编码解码机制 和 Protobuf技术
介绍: 编写网络应用程序时,因为数据在网络中传输的都是二进制字节码数据,在发送数据时就需要编码,接收数据时就需要解码 codec(编解码器) 的组成部分有两个:decoder(解码器)和 encode ...
- Java 从键盘输入不确定的整数 并判断读入的整数和负数的个数,输入0时候结束
1 /** 2 * 从键盘输入不确定的整数 并判断读入的整数和负数的个数,输入0时候结束 3 * 4 */ 5 6 Scanner scan = new Scanner(System.in); 7 8 ...
- 使用内网nginx代理rancher
需求: rancher 部署在 192.168.188.167服务器上 控制台访问地址 https://192.168.188.167:8443 在本地只有192.168.80.111有权限访问, 需 ...
- 在Linux下开启指定端口号
1.查看某个端口是否已开启,如果提示no表示未开启 #8888表示要查询的端口号firewall-cmd --query-port=8888/tcp 2.永久开启端口号,提示 success 表示成功 ...
- 【stars-one】星念音乐下载器
一款可将各个音乐网站可在线播放的音乐保存到本地的软件,目前暂且支持网易云音乐 获取软件 星念音乐下载器pc版v1.5 https://www.ilanzou.com/s/CI7zaWz 星念音乐下载器 ...
- 文心一言 VS 讯飞星火 VS chatgpt (216)-- 算法导论16.2 3题
三.假定在 0-1 背包问题中,商品的重量递增序与价值递减序完全一样.设计一个高效算法求此背包问题的变形的最优解,证明你的算法是正确的.如果要写代码,请用go语言. 文心一言: 在0-1背包问题中,如 ...