Tôi có một máy chủ có địa chỉ IPv4 và mạng con IPv6/64 (giả sử 2001:db8::/64
), cả hai công khai. Bản thân máy chủ có địa chỉ IPv6 sau: 2001:db8::1/64
. Cổng là fe80::1
(điều này gây ra sự cố với docker/podman, vì nó không nằm trong cùng một mạng con).
Mục tiêu của tôi là tạo bộ chứa docker/podman (ví dụ: máy chủ WWW) với IPv6 công khai của riêng nó (giả sử 2001:db8::2/64
). Theo hiểu biết của tôi, một thiết lập như vậy cần mạng macvlan. Vì vậy, thiết lập sẽ trông như sau:
Tôi đã quản lý để hoàn thành một phần thiết lập này bằng mạng cầu nối và lệnh sau:
tạo mạng sudo podman --subnet 2001:db8::/64 --ipv6 mynet
Vùng chứa trong mạng này có thể truy cập được từ Internet qua IP chính xác (2001:db8::2
), nhưng IP công khai của nó (đối với http, ping, v.v.) bị sai - đó là 2001:db8::1
, điều này hoàn toàn dễ hiểu khi sử dụng mạng bridge.
Mọi thứ trở nên phức tạp khi tôi thử sử dụng macvlan, vấn đề đầu tiên là cổng cần được đặt thành fe80::1
. người đóng tàu
từ chối tạo mạng như vậy với lỗi "không có mạng con phù hợp cho cổng fe80::1". người bán rong
tạo thành công mạng bằng lệnh sau:
tạo mạng Sudo podman -d macvlan --subnet 2001:db8::/64 --gateway fe80::1 --ipv6 -o parent=eth0 mynet
Thật không may, một vùng chứa bên trong mạng này không có kết nối theo bất kỳ hướng nào, mặc dù nó có IP và cổng được chỉ định chính xác.
Máy chủ đang hoạt động trên Ubuntu, với định tuyến IP được bật trong kernel.
Bất kỳ ý tưởng làm thế nào thiết lập này có thể được thực hiện sẽ được đánh giá cao. Cảm ơn.