Tôi đang cố gắng thiết lập nhiều container LXC trên một máy chủ, mỗi container có IP tĩnh công khai của riêng chúng.
Máy chủ của tôi đang chạy Ubuntu mới nhất. Nó có một giao diện mạng duy nhất có tên eth0. Các IP tĩnh có thể ping được từ internet và được đặt tên là eth0: 210, eth0: 211 ... Các số sau dấu hai chấm là byte ít quan trọng nhất của các địa chỉ. Ngoài các giao diện này, tôi có thiết lập br0 trên IP công cộng của máy chủ. Ngoài ra còn có các giao diện lo, veth2LPP9A và lxcbr0. Lxcbr0 có địa chỉ của một IP riêng.
Các máy chủ / etc / mạng / giao diện trông như:
auto br0
iface br0 inet static
bridge_ports eth0
bridge_fd 0
[...]
Cho đến nay tôi đã sử dụng nhiều nguồn trực tuyến khác nhau, bao gồm các cầu nối LXC để lưu trữ eth0 để họ có thể có IP công cộng để giúp tôi thiết lập điều này.
Tệp cấu hình của container có:
lxc.network.type = veth
lxc.network.link = br0
Tôi đã xóa cấu hình lxc.network.ipv4 tĩnh khỏi tệp này vì nó gây ra sự cố. Khi tôi chạy lxc-ls --fancy với cấu hình này, tôi sẽ thấy cùng một IP công khai hai lần trong đầu ra. Ngoài ra, nó sẽ gây rối với cấu hình mạng con của giao diện chứa / etc / mạng / giao diện.
Nói về tập tin giao diện của container, nó trông giống như:
auto eth0
iface eth0 inet static
address [...]
netmask 255.255.255.255
#gateway [...]
dns-nameservers 8.8.8.8
post-up route add [...] dev eth0
post-up route add default gw [...]
post-down route del [...] dev eth0
post-down route del default gw [...]
Tôi đã phải bình luận ra cổng và thêm các tuyến đường thêm lệnh vào tập tin này. Nếu không, container sẽ mất vài phút để khởi động.
Các tập tin / Proc / sys / net / Bridge / Bridge-nf- * trên máy chủ đều được đặt thành 0. Giá trị / Proc / sys / net / ipv4 / ip_forward là 1.
Vấn đề là, mặc dù "tuyến đường -n" của container có vẻ như vậy, tôi không thể ping ra khỏi container. SSH đến những gì nên là IP của người chứa, kết nối tôi với máy chủ.
EDIT: Loại bỏ IP tĩnh của bộ chứa khỏi máy chủ đã giúp, nhưng bây giờ tôi đang gặp một lỗi mới. Cố gắng ping container từ máy chủ dẫn đến Redirect HostFrom, New nexthop. Các gói chỉ đi từ cổng đến máy chủ, lặp đi lặp lại. Chạy một traceroute từ máy chủ cho thấy điểm dừng đầu tiên là ở cổng. Sau đó, tất cả các tuyến đường khác là * * *. Tôi nhận được cùng một vấn đề bất kể container có trực tuyến hay không.