记录日常点点滴滴,欢迎来到我的小站。

0%

甲骨文云服务器Oracle cloud 分配并启用 IPv6 地址教程

前几个月刚把AWS的云服务器的IP换成了IPv6,这不手又痒痒了。决定把手里的一台Oracle Cloud(甲骨文云服务器)也改成IPv6,虽然Oracle没有明确提出非要转到IPv6,
不过毕竟已经是2024年了,谁还不想跟上时代呢。

过程1: 创建IPv6 CIDR块

IPv6 CIDR块

  1. 打开Oracle 虚拟云网络控制台
  2. 选择需要添加IPv6的VCN
    添加CIDR
  3. 点击左侧菜单栏中的CIDR Blocks/Prefixes
  4. 点击右侧界面中的 Add CIDR Block/IPv6 Prefix
    添加CIDR
  5. 勾选Assign an Oracle allocated IPv6 /56 preflx,并点击添加CIDR按钮
    添加CIDR
  6. 稍等一会后,你会发现在CIDR Blocks界面中多出了一个 /56 的 IPv6 段了

将IPv6 CIDR块与子网关联

  1. 打开Oracle 虚拟云网络控制台
  2. 点击页面左侧边栏的 子网
  3. 选择使用中的子网
    Oracle的子网
  4. 在做侧边栏中找到IPv6 Prefixes 进入并在右侧界面中点击Add IPv6 Prefix
    添加IPv6 Prefix
  5. 在弹出的界面中勾选Assign an Oracle allocated IPv6 /64 prefix 在下面的输入框中输入2位16进制的代码
    添加IPv6 Prefix设置

过程2:更新安全列表规则

要使实例能够通过 IPv6 发送和接收流量,您必须更新安全组规则以包含 IPv6 地址的规则。比如你的网站 80端口

更新入站安全组规则

  1. 打开Oracle 虚拟云网络控制台
  2. 点击页面左侧边栏的 安全列表 并选择正在使用的列表。
    安全列表
  3. 在入站规则选项卡中,选择编辑入站规则。
  4. 对于允许 IPv4 流量的每条规则,选择添加规则并配置该规则以允许相应的 IPv6 流量。例如,要添加允许通过 IPv6 的所有 HTTP 流量的规则,请为“类型 ”和“源”选择HTTP。::/0
  5. 保存规则。

过程3:更新路由表

更新公有子网的路由表

  1. 打开Oracle 虚拟云网络控制台
  2. 点击页面左侧边栏的 路由表。选择正在使用的路由表
    路由表
  3. 选择路由表。选择添加路由规则
    路由表
  4. 选择添加路线。选择::/0目的地 。
  5. 保存更改。

为实例分配IPv6地址

  1. 打开实例控制台
  2. 进入需要改为IPv6的实例详情页面
  3. 找到左侧边栏里的附加的 VNIC,并点击右侧的VNIC
    分配IPv6地址
  4. 选择左侧边栏里的IPv6 地址后选择右侧的分配IPv6地址,在弹出的页面中选择自动从 IPv6 前缀中分配
    分配IPv6地址

现在我们回到实例的管理面板,查看主机的详细信息,就会发现已经被分配了新的IPv6地址了。

分配了IPv6地址不算完,Apache2也需要修改

ports.conf 增加你的监听端口

修改/etc/apache2/ports.conf
添加或修改以下内容

1
2
Listen [::]:80
Listen [::]:443

注意如果原来是Listen 80的话,请直接修改此处,或使用#注释掉

查看Apache2是否开启IPv6

使用netstat -tln
结果中出现tcp6 :::80就算成功了。
接下来重新启动Apache2。我们可以去看看是否能够正常显示网站了。

查看vsftpd是否开启IPv6

使用less /etc/vsftpd.conf
查看最前面的几行,

1
2
3
4
5
6
7
8
9
#listen=YES
#
# This directive enables listening on IPv6 sockets. By default, listening
# on the IPv6 "any" address (::) will accept connections from both IPv6
# and IPv4 clients. It is not necessary to listen on *both* IPv4 and IPv6
# sockets. If you want that (perhaps because you want to listen on specific
# addresses) then you must run two copies of vsftpd with two configuration
# files.
listen_ipv6=YES

是否是这样,不是改成这样,并在AWS服务器的EC2管理面板的安全组中添加 ::/0 入站规则

Nginx的设置

如果你是新版的nginx(我的是1.24)的话,可以省略此步,如果不是,需要先给Nginx添加 --with-ipv6的模块
重新编译并安装,替换原来的nginx
在网站设置文件 xxx.conf中添加

1
2
3
listen 80;
listen [::]:80 ipv6only=on;
listen [::]:443 ipv6only=on ssl http2;

重启Nginx即可。