Sử dụng thực thể tiếp theo của Tuyến tĩnh IPv6 (chưa gắn thẻ và đã gắn thẻ), địa chỉ tiếp theo và cổng tiếp theo

1. Giới thiệu

Các tuyến tuỳ chỉnh tĩnh ảnh hưởng đến hành vi định tuyến mặc định trong VPC. Các tuyến tuỳ chỉnh IPv6 hiện hỗ trợ các thuộc tính tiếp theo mới: next-hop-gateway, next-hop-instance và next-hop-address. Lớp học lập trình này mô tả cách sử dụng các tuyến tuỳ chỉnh IPv6 với các tuỳ chọn bước tiếp theo mới này bằng cách sử dụng hai VPC được kết nối bằng một thực thể máy ảo nhiều NIC. Bạn cũng sẽ được hướng dẫn cách kết hợp địa chỉ ULA và GUA, đồng thời cung cấp khả năng tiếp cận VPC ULA với Internet công cộng bằng cách sử dụng tính năng tuyến tuỳ chỉnh mới.

Kiến thức bạn sẽ học được

  • Cách tạo tuyến tuỳ chỉnh IPv6 với next-hop-instance next-hop.
  • Cách tạo tuyến tuỳ chỉnh IPv6 có next-hop-gateway next-hop.
  • Cách tạo tuyến tuỳ chỉnh IPv6 có next-hop-address next-hop.

Bạn cần có

  • Dự án trên Google Cloud

2. Trước khi bắt đầu

Cập nhật dự án để hỗ trợ lớp học lập trình

Lớp học lập trình này sử dụng $variables để hỗ trợ triển khai cấu hình gcloud trong Cloud Shell.

Bên trong Cloud Shell, hãy thực hiện như sau

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
export projectname=$(gcloud config list --format="value(core.project)")

Cấu trúc tổng thể của phòng thí nghiệm

eae86f3e371e74b8.png

Để minh hoạ cả hai loại bước tiếp theo của tuyến tuỳ chỉnh, bạn sẽ tạo 3 VPC: VPC máy khách sử dụng địa chỉ GUA, VPC máy chủ sử dụng địa chỉ ULA và VPC máy chủ thứ hai sử dụng địa chỉ GUA.

Để VPC của máy khách truy cập vào máy chủ ULA, bạn sẽ sử dụng một tuyến tuỳ chỉnh bằng cách sử dụng cả next-hop-instance và next-hop-address trỏ đến một thực thể cổng nhiều NIC. Để cấp quyền truy cập vào máy chủ GUA (sau khi xoá tuyến mặc định ::/0), bạn sẽ sử dụng tuyến tuỳ chỉnh có next-hop-gateway trỏ đến Cổng Internet mặc định để định tuyến qua Internet.

3. Thiết lập VPC của ứng dụng

Tạo VPC của ứng dụng

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute networks create client-vpc \
    --project=$projectname \
    --subnet-mode=custom \
    --mtu=1500 --bgp-routing-mode=regional

Tạo mạng con Khách hàng

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute networks subnets create client-subnet  \
    --network=client-vpc \
    --project=$projectname \
    --range=192.168.1.0/24 \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=external \
    --region=us-central1

Ghi lại mạng con GUA được chỉ định trong một biến môi trường bằng lệnh sau

export client_subnet=$(gcloud compute networks subnets \
    describe client-subnet \
    --project $projectname \
    --format="value(externalIpv6Prefix)" \
    --region us-central1)

Chạy phiên bản ứng dụng

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute instances create client-instance \
    --subnet client-subnet \
    --stack-type IPV4_IPV6 \
    --zone us-central1-a \
    --project=$projectname

Thêm quy tắc tường lửa cho lưu lượng truy cập VPC của ứng dụng

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute firewall-rules create allow-gateway-client \
    --direction=INGRESS --priority=1000 \
    --network=client-vpc --action=ALLOW \
    --rules=tcp --source-ranges=$client_subnet \
    --project=$projectname 

Thêm quy tắc tường lửa để cho phép IAP cho thực thể ứng dụng

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute firewall-rules create allow-iap-client \
    --direction=INGRESS --priority=1000 \
    --network=client-vpc --action=ALLOW \
    --rules=tcp:22 --source-ranges=35.235.240.0/20 \
    --project=$projectname 

Xác nhận quyền truy cập SSH vào thực thể máy khách

Bên trong Cloud Shell, hãy đăng nhập vào phiên bản ứng dụng khách:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Nếu thành công, bạn sẽ thấy một cửa sổ dòng lệnh từ thực thể ứng dụng khách. Thoát khỏi phiên SSH để tiếp tục lớp học lập trình.

4. Thiết lập VPC cho máy chủ ULA

Tạo VPC cho máy chủ ULA

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute networks create server-vpc1 \
    --project=$projectname \
    --subnet-mode=custom --mtu=1500 \
    --bgp-routing-mode=regional \
    --enable-ula-internal-ipv6

Tạo mạng con máy chủ ULA

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute networks subnets create server-subnet1 \
    --network=server-vpc1 \
    --project=$projectname \
    --range=192.168.0.0/24 \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=internal \
    --region=us-central1

Ghi lại mạng con ULA được chỉ định trong một biến môi trường bằng lệnh sau

export server_subnet1=$(gcloud compute networks subnets \
    describe server-subnet1 \
    --project $projectname \
    --format="value(internalIpv6Prefix)" \
    --region us-central1)

Chạy máy ảo máy chủ bằng địa chỉ IPv6 nội bộ ULA

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute instances create server-instance1 \
    --subnet server-subnet1 \
    --stack-type IPV4_IPV6 \
    --zone us-central1-a \
    --project=$projectname

Thêm quy tắc tường lửa để cho phép truy cập vào máy chủ từ ứng dụng khách

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute firewall-rules create allow-client-server1 \
    --direction=INGRESS --priority=1000 \
    --network=server-vpc1 --action=ALLOW \
    --rules=tcp --source-ranges=$client_subnet \
    --project=$projectname 

Thêm quy tắc tường lửa để cho phép giao dịch mua hàng trong ứng dụng

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute firewall-rules create allow-iap-server1 \
    --direction=INGRESS --priority=1000 \
    --network=server-vpc1 --action=ALLOW \
    --rules=tcp:22 \
    --source-ranges=35.235.240.0/20 \
    --project=$projectname 

Cài đặt Apache trong thực thể máy chủ ULA

Bên trong Cloud Shell, hãy đăng nhập vào phiên bản ứng dụng khách:

gcloud compute ssh server-instance1 \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Bên trong shell của máy ảo máy chủ, hãy chạy lệnh sau

sudo apt update && sudo apt -y install apache2

Xác minh rằng Apache đang chạy

sudo systemctl status apache2

Ghi đè trang web mặc định

echo '<!doctype html><html><body><h1>Hello World! From Server1!</h1></body></html>' | sudo tee /var/www/html/index.html

Thoát khỏi phiên SSH để tiếp tục lớp học lập trình.

5. Thiết lập VPC cho máy chủ GUA

Tạo VPC cho máy chủ GUA

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute networks create server-vpc2 \
    --project=$projectname \
    --subnet-mode=custom --mtu=1500 \
    --bgp-routing-mode=regional

Tạo mạng con máy chủ GUA

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute networks subnets create server-subnet2 \
    --network=server-vpc2 \
    --project=$projectname \
    --range=192.168.0.0/24 \
    --stack-type=IPV4_IPV6 \
    --ipv6-access-type=external \
    --region=us-central1

Ghi lại mạng con GUA được chỉ định trong một biến môi trường bằng lệnh sau

export server_subnet2=$(gcloud compute networks subnets \
    describe server-subnet2 \
    --project $projectname \
    --format="value(externalIpv6Prefix)" \
    --region us-central1)

Chạy máy ảo máy chủ bằng địa chỉ IPv6 GUA

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute instances create server-instance2 \
    --subnet server-subnet2 \
    --stack-type IPV4_IPV6 \
    --zone us-central1-a \
    --project=$projectname

Thêm quy tắc tường lửa để cho phép truy cập trong mạng con

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute firewall-rules create allow-client-server2 \
    --direction=INGRESS \
    --priority=1000 \
    --network=server-vpc2 \
    --action=ALLOW \
    --rules=tcp --source-ranges=$client_subnet \
    --project=$projectname 

Thêm quy tắc tường lửa để cho phép giao dịch mua hàng trong ứng dụng

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute firewall-rules create allow-iap-server2 \
    --direction=INGRESS \
    --priority=1000 \
    --network=server-vpc2 \
    --action=ALLOW \
    --rules=tcp:22 \
    --source-ranges=35.235.240.0/20 \
    --project=$projectname 

Xác nhận quyền truy cập SSH vào thực thể máy chủ GUA và cài đặt Apache

Bên trong Cloud Shell, hãy đăng nhập vào phiên bản ứng dụng khách:

gcloud compute ssh server-instance2 \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Bên trong shell của máy ảo máy chủ, hãy chạy lệnh sau

sudo apt update && sudo apt -y install apache2

Xác minh rằng Apache đang chạy

sudo systemctl status apache2

Ghi đè trang web mặc định

echo '<!doctype html><html><body><h1>Hello World! From Server2!</h1></body></html>' | sudo tee /var/www/html/index.html

Thoát khỏi phiên SSH để tiếp tục lớp học lập trình.

6. Tạo thực thể cổng

Xoá tuyến mặc định của VPC khách hàng

Để chuẩn bị chuyển hướng lưu lượng truy cập ULA v6 đến thực thể nhiều NIC và tắt tính năng định tuyến thoát Internet. Xoá tuyến ::/0 mặc định trỏ đến cổng Internet mặc định.

Trong Cloud Shell, hãy thực hiện như sau:

export client_defroutename=$(gcloud compute routes list \
--project $projectname \
--format='value(name)' \
--filter="network:client-vpc AND destRange~'::/0'")

gcloud compute routes delete $client_defroutename \
--project $projectname \
--quiet

Chạy máy ảo nhiều NIC của cổng

Trong Cloud Shell, hãy thực hiện như sau:Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute instances create gateway-instance \
    --project=$projectname \
    --zone=us-central1-a \
--network-interface=stack-type=IPV4_IPV6,subnet=client-subnet,no-address \
--network-interface=stack-type=IPV4_IPV6,subnet=server-subnet1,no-address \
    --can-ip-forward

Định cấu hình thực thể cổng

Trong Cloud Shell, hãy đăng nhập vào thực thể cổng (có thể mất vài phút để SSH thành công trong khi thực thể đang khởi động):

gcloud compute ssh gateway-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Bên trong shell máy ảo cổng, hãy chạy lệnh sau để bật tính năng chuyển tiếp IPv6 và tiếp tục chấp nhận RA khi bật tính năng chuyển tiếp (accept_ra = 2)

sudo sysctl -w net.ipv6.conf.ens4.accept_ra=2
sudo sysctl -w net.ipv6.conf.ens5.accept_ra=2
sudo sysctl -w net.ipv6.conf.ens4.accept_ra_defrtr=1
sudo sysctl -w net.ipv6.conf.all.forwarding=1

Xác minh bảng định tuyến IPv6 trên thực thể

ip -6 route show

Kết quả mẫu cho thấy cả tuyến mạng con ULA và GUA, với tuyến mặc định trỏ đến giao diện GUA.

::1 dev lo proto kernel metric 256 pref medium
2600:1900:4000:7a7f:0:1:: dev ens4 proto kernel metric 256 expires 83903sec pref medium
2600:1900:4000:7a7f::/65 via fe80::4001:c0ff:fea8:101 dev ens4 proto ra metric 1024 expires 88sec pref medium
fd20:3df:8d5c::1:0:0 dev ens5 proto kernel metric 256 expires 83904sec pref medium
fd20:3df:8d5c::/64 via fe80::4001:c0ff:fea8:1 dev ens5 proto ra metric 1024 expires 84sec pref medium
fe80::/64 dev ens5 proto kernel metric 256 pref medium
fe80::/64 dev ens4 proto kernel metric 256 pref medium
default via fe80::4001:c0ff:fea8:101 dev ens4 proto ra metric 1024 expires 88sec pref medium

Thoát khỏi phiên SSH để tiếp tục lớp học lập trình.

7. Tạo và kiểm thử các tuyến đến thực thể cổng (sử dụng tên của thực thể)

Trong phần này, bạn sẽ thêm tuyến đến cả VPC máy khách và máy chủ bằng cách sử dụng tên thực thể cổng làm bước tiếp theo.

Ghi lại địa chỉ máy chủ

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute instances list \
   --project $projectname \
   --filter="name~server-instance" \
--format='value[separator=","](name,networkInterfaces[0].ipv6Address,networkInterfaces[0].ipv6AccessConfigs[0].externalIpv6)'

Thao tác này sẽ xuất ra cả tên thực thể máy chủ và tiền tố IPv6 của các thực thể đó. Kết quả mẫu

server-instance1,fd20:3df:8d5c:0:0:0:0:0,
server-instance2,,2600:1900:4000:71fd:0:0:0:0

Hãy ghi lại cả hai địa chỉ vì bạn sẽ sử dụng chúng sau trong các lệnh curl từ thực thể ứng dụng. Rất tiếc, bạn không thể dễ dàng sử dụng các biến môi trường để lưu trữ các biến này vì chúng không chuyển qua các phiên SSH.

Chạy lệnh curl từ máy khách đến thực thể máy chủ ULA

Để xem hành vi trước khi thêm bất kỳ tuyến đường mới nào. Chạy lệnh curl từ thực thể máy khách đến server-instance1.

Bên trong Cloud Shell, hãy đăng nhập vào phiên bản ứng dụng khách:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Bên trong thực thể ứng dụng, hãy thực hiện một lệnh curl bằng địa chỉ ULA IPV6 của thực thể server1 (lệnh này đặt thời gian chờ ngắn là 5 giây để tránh curl phải chờ quá lâu)

curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'

Lệnh curl này sẽ hết thời gian chờ vì VPC của ứng dụng chưa có tuyến đến VPC của máy chủ.

Hãy cùng khắc phục vấn đề đó! Hiện tại, hãy thoát khỏi phiên SSH.

Thêm tuyến tuỳ chỉnh trong VPC của ứng dụng

Vì VPC của ứng dụng bị thiếu tuyến đường đến tiền tố ULA. Hãy thêm ngay.

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute routes create client-to-server1-route \
   --project=$projectname \
   --destination-range=$server_subnet1 \
   --network=client-vpc \
   --next-hop-instance=gateway-instance \
   --next-hop-instance-zone=us-central1-a

SSH trở lại thực thể ứng dụng khách:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Bên trong thực thể ứng dụng, hãy thử lại curl đến thực thể máy chủ. (lệnh này đặt thời gian chờ ngắn là 5 giây để tránh curl phải chờ quá lâu)

curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'

Lệnh curl này vẫn hết thời gian chờ vì VPC server1 chưa có tuyến đường quay lại VPC máy khách thông qua thực thể cổng.

Thoát khỏi phiên SSH để tiếp tục lớp học lập trình.

Thêm tuyến tuỳ chỉnh trong VPC của máy chủ ULA

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute routes create server1-to-client-route \
   --project=$projectname \
   --destination-range=$client_subnet \
   --network=server-vpc1 \
   --next-hop-instance=gateway-instance \
   --next-hop-instance-zone=us-central1-a

SSH trở lại thực thể ứng dụng khách:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Bên trong thực thể ứng dụng, hãy thử curl đến thực thể máy chủ một lần nữa.

curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'

Lệnh curl này hiện đã thành công, cho thấy bạn có thể kết nối từ đầu đến cuối từ thực thể ứng dụng khách đến thực thể máy chủ ULA. Hiện tại, bạn chỉ có thể kết nối này thông qua việc sử dụng các tuyến tuỳ chỉnh IPv6 với next-hop-instance làm next-hop.

Kết quả mẫu

<user id>@client-instance:~$ curl -m 5.0 -g -6 'http://[fd20:3df:8d5c:0:0:0:0:0]:80/'
<!doctype html><html><body><h1>Hello World! From Server1!</h1></body></html>

Thoát khỏi phiên SSH để tiếp tục lớp học lập trình.

8. Tạo và kiểm thử các tuyến đến thực thể cổng (sử dụng địa chỉ của thực thể)

Trong phần này, bạn sẽ thêm tuyến đến cả VPC máy khách và máy chủ bằng cách sử dụng địa chỉ ipv6 của thực thể cổng làm bước tiếp theo.

Xoá các tuyến đường trước đó

Hãy khôi phục môi trường về trạng thái trước khi thêm bất kỳ tuyến tuỳ chỉnh nào bằng cách xoá các tuyến tuỳ chỉnh sử dụng tên thực thể.

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute routes delete client-to-server1-route  --quiet --project=$projectname
gcloud compute routes delete server1-to-client-route  --quiet --project=$projectname

Chạy lệnh curl từ máy khách đến thực thể máy chủ ULA

Để xác nhận rằng các tuyến trước đó đã được xoá thành công, hãy chạy lệnh curl từ thực thể ứng dụng đến server-instance1.

Bên trong Cloud Shell, hãy đăng nhập vào phiên bản ứng dụng khách:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Bên trong thực thể ứng dụng, hãy thực hiện một lệnh curl bằng địa chỉ ULA IPV6 của thực thể server1 (lệnh này đặt thời gian chờ ngắn là 5 giây để tránh curl phải chờ quá lâu)

curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'

Lệnh curl này sẽ hết thời gian chờ vì VPC của ứng dụng không còn tuyến nào đến VPC của máy chủ.

Lấy địa chỉ IPv6 của thực thể cổng

Chúng ta cần lấy địa chỉ IPv6 của thực thể cổng để có thể viết các tuyến sử dụng địa chỉ next-hop-address.

Trong Cloud Shell, hãy thực hiện như sau:

export gateway_ula_address=$(gcloud compute instances \
   describe gateway-instance \
   --project $projectname  \
   --format='value(networkInterfaces[1].ipv6Address)')

export gateway_gua_address=$(gcloud compute instances \
   describe gateway-instance \
   --project $projectname  \
   --format='value(networkInterfaces[0].ipv6AccessConfigs[0].externalIpv6)')

Thêm tuyến tuỳ chỉnh trong VPC của ứng dụng

Bây giờ, chúng ta có thể thêm lại tuyến trong VPC của ứng dụng có tiền tố ULA, nhưng thay vào đó, hãy sử dụng địa chỉ GUA của cổng làm bước tiếp theo.

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute routes create client-to-server1-route \
   --project=$projectname \
   --destination-range=$server_subnet1 \
   --network=client-vpc \
   --next-hop-address=$gateway_gua_address

SSH trở lại thực thể ứng dụng khách:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Bên trong thực thể ứng dụng, hãy thử lại curl đến thực thể máy chủ.

curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'

Như dự kiến, lệnh curl này vẫn hết thời gian chờ vì VPC server1 chưa có tuyến đường quay lại VPC máy khách thông qua thực thể cổng.

Thoát khỏi phiên SSH để tiếp tục lớp học lập trình.

Thêm tuyến tuỳ chỉnh trong VPC của máy chủ ULA

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute routes create server1-to-client-route \
   --project=$projectname \
   --destination-range=$client_subnet \
   --network=server-vpc1 \
   --next-hop-address=$gateway_ula_address

SSH trở lại thực thể ứng dụng khách:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Bên trong thực thể ứng dụng, hãy thử curl đến thực thể máy chủ một lần nữa.

curl -m 5.0 -g -6 'http://[ULA-ipv6-address-of-server1]:80/'

Lệnh curl này hiện đã thành công, cho thấy bạn có thể kết nối từ đầu đến cuối từ thực thể ứng dụng khách đến thực thể máy chủ ULA. Hiện tại, bạn chỉ có thể kết nối này thông qua việc sử dụng các tuyến tuỳ chỉnh IPv6 với địa chỉ tiếp theo làm bước tiếp theo.

Kết quả mẫu

<user id>@client-instance:~$ curl -m 5.0 -g -6 'http://[fd20:3df:8d5c:0:0:0:0:0]:80/'
<!doctype html><html><body><h1>Hello World! From Server1!</h1></body></html>

Thoát khỏi phiên SSH để tiếp tục lớp học lập trình.

9. Tạo và kiểm thử tuyến đường đến cổng Internet

Trong khi bạn thiết lập lớp học này, hãy kiểm thử chức năng của thuộc tính next-hop mới: next-hop-gateway.

Chạy lệnh curl từ máy khách đến thực thể máy chủ GUA

Để xem hành vi trước khi thêm bất kỳ tuyến đường mới nào. Chạy lệnh curl từ thực thể ứng dụng khách đến địa chỉ IP của server2.

Trong Cloud Shell, hãy đăng nhập vào phiên bản ứng dụng khách:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Bên trong thực thể ứng dụng, hãy thực hiện một lệnh curl đến điểm cuối IPv6

curl -m 5.0 -g -6 'http://[GUA-ipv6-address-of-server2]:80/'

Lệnh curl này sẽ hết thời gian chờ vì VPC của máy khách chỉ có tuyến con riêng và tuyến đến VPC của máy chủ1. Để có thể truy cập vào dải GUA của VPC server2, bạn cần sử dụng cổng Internet mặc định thông qua một tuyến tuỳ chỉnh.

Thoát khỏi phiên SSH để tiếp tục lớp học lập trình.

Thêm tuyến cổng tuỳ chỉnh trong VPC của ứng dụng

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute routes create client-to-server2-route \
   --project=$projectname \
   --destination-range=$server_subnet2 \
   --network=client-vpc \
   --next-hop-gateway=default-internet-gateway

SSH trở lại thực thể ứng dụng khách:

gcloud compute ssh client-instance \
    --project=$projectname \
    --zone=us-central1-a \
    --tunnel-through-iap

Bên trong thực thể ứng dụng, hãy lặp lại cùng một curl

curl -m 5.0 -g -6 'http://[GUA-ipv6-address-of-server2]:80/'

Giờ đây, lệnh curl này sẽ trả về thành công thông báo chào tuỳ chỉnh, cho biết rằng bạn có thể truy cập thành công vào địa chỉ IPv6 của máy chủ khác thông qua cổng Internet mặc định.

Kết quả mẫu:

<user id>@client-instance:~$ curl -m 5.0 -g -6 'http://[2600:1900:4000:71fd:0:0:0:0]:80/'
<!doctype html><html><body><h1>Hello World! From Server2!</h1></body></html>

Thoát khỏi phiên SSH để chuyển đến phần dọn dẹp của lớp học lập trình.

10. Dọn dẹp

Dọn dẹp các thực thể

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute instances delete client-instance --zone us-central1-a --quiet --project=$projectname

gcloud compute instances delete server-instance1 --zone us-central1-a --quiet --project=$projectname

gcloud compute instances delete server-instance2 --zone us-central1-a --quiet --project=$projectname

gcloud compute instances delete gateway-instance --zone us-central1-a --quiet --project=$projectname

Dọn dẹp mạng con

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute networks subnets delete client-subnet --region=us-central1 --quiet --project=$projectname

gcloud compute networks subnets delete server-subnet1 --region=us-central1 --quiet --project=$projectname

gcloud compute networks subnets delete server-subnet2 --region=us-central1 --quiet --project=$projectname

Dọn dẹp các quy tắc tường lửa

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute firewall-rules delete allow-iap-client  --quiet --project=$projectname
gcloud compute firewall-rules delete allow-iap-server1  --quiet --project=$projectname
gcloud compute firewall-rules delete allow-iap-server2  --quiet --project=$projectname
gcloud compute firewall-rules delete allow-gateway-client  --quiet --project=$projectname
gcloud compute firewall-rules delete allow-client-server1  --quiet --project=$projectname
gcloud compute firewall-rules delete allow-client-server2  --quiet --project=$projectname

Dọn dẹp các tuyến tuỳ chỉnh

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute routes delete client-to-server1-route  --quiet --project=$projectname
gcloud compute routes delete client-to-server2-route  --quiet --project=$projectname
gcloud compute routes delete server1-to-client-route  --quiet --project=$projectname

Dọn dẹp VPC

Trong Cloud Shell, hãy thực hiện như sau:

gcloud compute networks delete client-vpc --quiet --project=$projectname
gcloud compute networks delete server-vpc1 --quiet --project=$projectname
gcloud compute networks delete server-vpc2 --quiet --project=$projectname

11. Xin chúc mừng

Bạn đã sử dụng thành công các tuyến IPv6 tuỳ chỉnh tĩnh với next-hop được đặt thành next-hop-gateway , next-hop-instance và next-hop-address. Bạn cũng đã xác thực giao tiếp IPv6 hai đầu bằng các tuyến đó.

Tiếp theo là gì?

Hãy xem một số lớp học lập trình này...

Tài liệu đọc thêm và video

Tài liệu tham khảo