Em hiểu ý của anh nói! Nhưng vấn đề là ở veth sẽ có address với gateway, v6 của veth cũng có em thắc mắc là nếu ipv4 đặt address trong ipv4 với address cho bridge của tất cả veth đó! Phần DNS của v6 cũng nằm chung với anh v4 em thắc mắc liệu rằng nếu em không đặt gateway cho address của ipv6 liệu có ra internet không? Việc không dán v6 sẽ khiến không ra internet?
Ở trên em có viết rồi đó ạ. Khi bác cấu hình IPv6 để SLAAC chạy (gắn địa chỉ với prefix /64 cho cái bridge chứa cái veth) thì cái container của bác nó sẽ có địa chỉ IPv6 và có route/gateway lấy qua SLAAC. Nếu cái prefix bác đưa vào đây lấy từ pool của ISP (ISP cung cấp prefix đủ lớn, không phải chỉ /64 như Viettel) thì cái container sẽ có địa chỉ IPv6 GUA và vào được các tài nguyên IPv6 trên internet bình thường. Trong trường hợp như với Viettel chỉ cho 1 cái prefix /64 thì bác không đủ prefix để gắn cho cái bridge chứa cái interface veth, nên lúc này có cách là dùng prefix ULA và cấu hình NAT IPv6, và cũng gắn địa chỉ/prefix để cho SLAAC hoạt động. Nếu cấu hình đúng (NAT) thì trong container cũng dùng IPv6 ra internet được. Nhưng do không ưu tiên so với IPv4 nên sẽ chỉ dùng IPv6 khi truy cập các tài nguyên IPv6 only (1 site nào đó mà domain chỉ resolve ra record AAAA. Còn nếu domain vẫn ra cả record A lẫn AAAA thì trong trường hợp này IPv4 sẽ được sử dụng).
Phần cấu hình "bằng tay" địa chỉ (thêm địa chỉ IPv6 vào mục Address) và IPv6 Gateway chỗ VETH bác có thể dùng nếu bác không muốn dùng SLAAC. Thí dụ nếu bác muốn chọn 1 địa chỉ IPv6 cụ thể cho cái container, không để SLAAC tự tạo phần đuôi của địa chỉ random hoặc từ MAC address. Tuy nhiên do các field này nó static nên chỉ phù hợp khi bác có prefix cố định.
Thí dụ khi bác dùng prefix ULA thì bác có thể chọn 1 prefix cố định, thí dụ fd85:f869:bbe7::/64, và gán địa chỉ fd85:f869:bbe7::1 cho cái bridge, và gán fd85:f869:bbe7::2 cho cái veth chẳng hạn, thay vì để SLAAC chọn địa chỉ kiểu fd85:f869:bbe7:0:f8f3:2ff:fe8a:fa30 gì gì đó. Nếu như này thì bác có thể cấu hình cái veth và thêm fd85:f869:bbe7::2/64 vào mục Address và fd85:f869:bbe7::1 vào mục gateway. Tất nhiên chỗ bridge phải add địa chỉ fd85:f869:bbe7::1/64 cho cái bridge, và cấu hình NAT.
Cũng không ai cấm bác lấy prefix global mà ISP cấp và điền địa chỉ với prefix đó vào mục này của cái veth (sau khi đã chọn phần đuôi của địa chỉ theo ý muốn). Có điều làm như vậy thì khá là bất tiện nếu cái prefix ISP cấp cho bác là prefix động, thay đổi sau mỗi khi quay PPPoE. Vì điều này đồng nghĩa với việc bác phải edit cái chỗ này bằng tay mỗi khi ISP cấp cho bác prefix IPv6 mới, hoặc bác phải viết script chạy chỗ DHCPv6 client để nó tự động update cái mục địa chỉ này của cái veth sao cho có prefix khớp với prefix mới được cấp.
Còn nếu bác muốn test xem thực sự cái container của bác có vào được mạng bằng IPv6 không (kiểm tra xem SLAAC có chạy không) thì bác chỉ việc mở shell vào cái container đó. Trong Terminal WinBox bác chạy
Xem cái container của bác có số mấy, thí dụ nó hiện số 2, thì chạy lệnh
Code:
/container shell number=2
Bác sẽ vào shell chạy trong cái container. Bác có thể chạy các lệnh quen thuộc của Linux để kiểm tra và test, thí dụ, để xem các địa chỉ IPv4 và IPv6 của container:
Hay xem route IPv6 có đúng không
Cũng như thử ping với IPv6:
Code:
ping -6 -c 5 google.com
ping -c 5 2606:4700::6810:f8f9
Bình thường thì việc cái container của bác nó có dùng được IPv6 để vào internet hay không cũng không quan trọng như bác nghĩ. Thường thì hầu hết các tài nguyên/dịch vụ nó cần truy cập trên internet (thí dụ root hay upstream DNS server) sẽ hoặc là IPv4-only hoặc là dual stack hỗ trợ cả IPv4 lẫn IPv6. Khi đó thì chỉ cần IPv4 hoạt động là đủ. Nó chỉ là vấn đề nếu tài nguyên cần truy cập là IPv6-only mà thôi. Nên nếu bác chỉ cần địa chỉ IPv6 cho cái container để các thiết bị trong LAN dùng thì không cần mất 1 cái prefix GUA của ISP làm gì, gán địa chỉ ULA cố định là đủ, và cũng không cần setup NAT nếu container không bắt buộc phải dùng IPv6 để ra ngoài internet.