服务器和虚机配置IPV6

服务器的ipv6配置 (配置搭建hdr集群等,~/.rhosts 和 /etc/hosts.equiv都配置+ +)

  1. 编辑配置文件加入以下内容, sudo vi /etc/sysctl.conf
bash 复制代码
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
  1. 永久加入ipv6地址
bash 复制代码
nmcli connection show   ##先确认你的网卡连接名称
在 172.16.37.101 上执行(假设连接名为 ens3,请替换为实际名称):
sudo nmcli connection modify "ens3" ipv6.method manual ipv6.addresses "3ffe:ffff:ffff:ffff::101/64"
在 172.16.37.102 上执行:
sudo nmcli connection modify "ens3" ipv6.method manual ipv6.addresses "3ffe:ffff:ffff:ffff::102/64"
  1. 使配置生效并验证
bash 复制代码
sudo nmcli connection down "ens3" && sudo nmcli connection up "ens3"
  1. 验证地址是否绑定成功
bash 复制代码
ip -6 addr show dev ens3
  1. 互ping6对端机器
bash 复制代码
ping6 3ffe:ffff:ffff:ffff::101
ping6 3ffe:ffff:ffff:ffff::102

6.如果虚拟机加入下面两步:(MAC地址是 52:54:00:...,这是典型的KVM虚拟机。KVM经常会拦截IPv6的NDP多播包,解决方法:静态邻居表配置)

6.1临时测试绝招:在 101 和 102 上,手动给对方的 IP 绑定一个"假"的 MAC 地址(欺骗一下系统,让它别去问了,直接发)。

bash 复制代码
 下面两行可忽略,add有时候因为记录已存在报错;直接使用那两条replace即可
	 --#在 101 上执行:sudo ip -6 neigh add 3ffe:ffff:ffff:ffff::102 lladdr 52:54:00:xx:xx:xx dev ens3 (把 52:54 换成 102 实际的 MAC 地址)。
	 --#在 102 上执行:sudo ip -6 neigh add 3ffe:ffff:ffff:ffff::101 lladdr 52:54:00:yy:yy:yy dev ens3 (把 52:54 换成 101 实际的 MAC 地址)。
	 在 101 上执行:sudo ip -6 neigh replace 3ffe:ffff:ffff:ffff::102 lladdr 52:54:00:fa:8b:54 dev ens3  
	 在 102 上执行:sudo ip -6 neigh replace 3ffe:ffff:ffff:ffff::101 lladdr 52:54:00:7c:e2:64 dev ens3
	如果你加了这条命令后,ping 瞬间通了,就百分之百证明是虚拟交换机把 NDP 多播包吃掉了。
配置完成再ping6

7.想让6步骤永久生效

7.1 新建这个文件(每个涉及到的机器都得创建)

sudo vi /etc/NetworkManager/dispatcher.d/99-ipv6-neighbor.sh

bash 复制代码
(文件里放入除本机外的其他机器ip+其他机器ip对应的网卡mac)
#!/bin/bash
# 这里的 $1 代表网卡名(请确保你的网卡名确实是 ens3),$2 代表事件状态
if [ "$2" = "up" ] && [ "$1" = "ens3" ]; then
	# 注意:这里把你临时测试用的 IP 和 MAC 换成真实对应的
	/usr/sbin/ip -6 neigh replace 3ffe:ffff:ffff:ffff::102 lladdr 52:54:00:xx:xx:xx dev ens3 nud permanent
fi
		
实际举例,101机器上文件内容:
#!/bin/bash
if [ "$2" = "up" ] && [ "$1" = "ens3" ]; then
	/usr/sbin/ip -6 neigh replace 3ffe:ffff:ffff:ffff::81  lladdr 52:54:00:7c:e2:64 dev ens3 nud permanent
	/usr/sbin/ip -6 neigh replace 3ffe:ffff:ffff:ffff::82  lladdr 52:54:00:fa:8b:54 dev ens3 nud permanent
	/usr/sbin/ip -6 neigh replace 3ffe:ffff:ffff:ffff::102 lladdr 52:54:00:08:92:e7 dev ens3 nud permanent
fi

7.2 给每台机器的脚本加上执行权限

bash 复制代码
sudo chmod +x /etc/NetworkManager/dispatcher.d/99-ipv6-neighbor.sh

7.3 手动触发涉及的网卡生效一下

bash 复制代码
sudo nmcli connection up ens3

7.4 每台机器查看邻居表状态

bash 复制代码
[root@localhost ~]# ip -6 neigh show
3ffe:ffff:ffff:ffff::82 dev ens3 lladdr 52:54:00:fa:8b:54 PERMANENT
3ffe:ffff:ffff:ffff::102 dev ens3 lladdr 52:54:00:08:92:e7 PERMANENT
3ffe:ffff:ffff:ffff::81 dev ens3 lladdr 52:54:00:7c:e2:64 PERMANENT
#如果邻居表里面有红色的失败的,也可以删除或者不用管:(可忽略)
sudo ip -6 neigh del 3ffe:ffff:ffff:ffff::102 dev ens3  有时候删除几秒又回来了,再用下面的就行
sudo ip -6 neigh delete 3ffe:ffff:ffff:ffff::102 dev ens3 nud permanent

7.5 重启reboot -f查看

bash 复制代码
ping6 3ffe:ffff:ffff:ffff::102之类的
ip -6 neigh show 里有 PERMANENT就永久配置成功

8.其他实际配置内容参考:

复制代码
[root@localhost gbase8s]# cat etc/sqlhosts.gbase02
db_group      group          -          -      i=10
gbase01 onsoctcp 3ffe:ffff:ffff:ffff::101 9088 g=db_group
gbase02 onsoctcp 3ffe:ffff:ffff:ffff::102 9088 g=db_group
[root@localhost gbase8s]# ip addr show
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 127.0.0.1/8 scope host lo
	valid_lft forever preferred_lft forever
	inet6 ::1/128 scope host
	valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
	link/ether 00:0c:29:1f:78:93 brd ff:ff:ff:ff:ff:ff
	inet 172.16.37.102/21 brd 172.16.39.255 scope global noprefixroute ens33
	valid_lft forever preferred_lft forever
	inet6 3ffe:ffff:ffff:ffff::102/64 scope global noprefixroute
	valid_lft forever preferred_lft forever
	inet6 fe80::2e84:f540:c6c:3073/64 scope link noprefixroute
	valid_lft forever preferred_lft forever
[root@localhost gbase8s]# ping6 3ffe:ffff:ffff:ffff::101
PING 3ffe:ffff:ffff:ffff::101(3ffe:ffff:ffff:ffff::101) 56 data bytes
64 bytes from 3ffe:ffff:ffff:ffff::101: icmp_seq=1 ttl=64 time=0.609 ms
64 bytes from 3ffe:ffff:ffff:ffff::101: icmp_seq=2 ttl=64 time=0.578 ms
^C
--- 3ffe:ffff:ffff:ffff::101 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 0.578/0.593/0.609/0.015 ms
[root@localhost gbase8s]# ping6 3ffe:ffff:ffff:ffff::102
PING 3ffe:ffff:ffff:ffff::102(3ffe:ffff:ffff:ffff::102) 56 data bytes
64 bytes from 3ffe:ffff:ffff:ffff::102: icmp_seq=1 ttl=64 time=0.014 ms
相关推荐
zixu_star29 分钟前
定时任务是什么?从日常自动化到 AI 应用,软件如何自动执行任务?
运维·人工智能·自动化
Cosolar37 分钟前
极简简历:开源免费,希望帮助到更多求职者
开源·github·敏捷开发
AR-26710-42 分钟前
Linux Day33——定时任务+lvm
linux·运维
Cosolar1 小时前
极简智库:快速搭建你的开源项目教程阅读平台,让 docs/ 目录被更多人看见
java·架构·github
墨痕诉清风1 小时前
SSRF漏洞实战记录+OSS桶命令执行+MCP漏洞
linux·服务器·数据库
敢敢是只喵i1 小时前
false不等于没填:一次 AI 接入业务系统的SDK的修复记录
github
一条Go1 小时前
历史告警归档:为什么"删掉主库行"是最后一步
后端·架构·github
润滑卫士1 小时前
液压系统工作粘度窗口等级选型:泵允许粘度范围与油温-粘度匹配计算
运维
TunerT_TQ2 小时前
Valhalla L3 开源评测|Apache Doris:面向AI Agent的实时分析与混合检索数据库
github