Trước hết hãy để tôi cho biết tôi đang cố gắng đạt được cấu hình mạng nào:
- Vùng chứa LXC sẽ được hiển thị với mạng cục bộ của tôi
- Bộ chứa LXC phải có quyền truy cập internet
Đây là những gì tôi đã có thể đạt được cho đến nay:
tôi đã đề cập đến Chuyển đổi eth0 thành br0 và nhận tất cả LXC hoặc LXD của bạn vào mạng LAN của bạn | Ubuntu để đạt được yêu cầu số 1 trong cấu hình trên. Tuy nhiên, LXC không có kết nối internet.
Một số quan sát khác:
- Tôi có thể ping đến & từ tất cả các thiết bị trên mạng ngoại trừ bộ chứa LXC.
- Tôi có thể ping đến & từ bộ chứa LXC đến máy chủ của nó: Ubuntu VM.
Tôi đã đề cập đến một số chủ đề trên diễn đàn này có liên quan đến vấn đề của tôi, nhưng không có kết quả. Bất kỳ ý tưởng nào về làm cách nào để bật truy cập internet bên trong vùng chứa?
Trên máy chủ (Ubuntu VM)
ajinkya@metaverse:~$ lsb_release -a
Không có mô-đun LSB nào khả dụng.
ID nhà phân phối: Ubuntu
Mô tả: Ubuntu 20.04.2 LTS
Phát hành: 20.04
Tên mã: tiêu cự
ajinkya@metaverse:~$ lxc-ls --version
4.0.6
ajinkya@metaverse:~$ uname -a
Linux metaverse 5.11.0-25-generic #27~20.04.1-Ubuntu SMP Thứ ba ngày 13 tháng 7 17:41:23 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
--------------------------------------------- ----------------------------------
ajinkya@metaverse:~$ ip một chương trình
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 trạng thái qdisc noqueue nhóm UNKNOWN mặc định qlen 1000
liên kết/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
máy chủ phạm vi inet 127.0.0.1/8 lo
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
inet6 ::1/128 máy chủ phạm vi
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 trạng thái Nhóm LÊN mặc định qlen 1000
liên kết/ether 08:00:27:db:a6:da brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 trạng thái qdisc noqueue UP nhóm mặc định qlen 1000
liên kết/ether 08:00:27:db:a6:da brd ff:ff:ff:ff:ff:ff
inet 192.168.0.161/24 brd 192.168.0.255 phạm vi toàn cầu động br0
hợp lệ_lft 85283sec ưa thích_lft 85283sec
inet6 fd01::124:c625:211:6384/64 phạm vi toàn cầu động tạm thời
hợp lệ_lft 251 giây ưa thích_lft 251 giây
inet6 fd01::a00:27ff:fedb:a6da/64 phạm vi động toàn cầu mngtmpaddr
hợp lệ_lft 251 giây ưa thích_lft 251 giây
liên kết phạm vi inet6 fe80::a00:27ff:fedb:a6da/64
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
4: veth1000_JY5u@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 trạng thái Nhóm LÊN mặc định qlen 1000
liên kết/ether fe:03:d9:b4:05:29 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet6 fe80::fc03:d9ff:feb4:529/64 liên kết phạm vi
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
--------------------------------------------- ----------------------------------
ajinkya@metaverse:~$ brctl show
tên cầu id cầu giao diện hỗ trợ STP
br0 8000.080027dba6da không có enp0s3
veth1000_JY5u
--------------------------------------------- ----------------------------------
ajinkya@metaverse:~$ mèo /etc/default/lxc-net
# Tệp này được tạo tự động bởi lxc.postinst nếu không
# hiện hữu. Các tùy chỉnh sẽ không bị ghi đè.
# Để lại USE_LXC_BRIDGE là "true" nếu bạn muốn sử dụng lxcbr0 cho
# hộp đựng. Đặt thành "false" nếu bạn sẽ sử dụng vibr0 hoặc một ứng dụng khác hiện có
# bridge hoặc mavlan tới NIC của máy chủ lưu trữ của bạn.
USE_LXC_BRIDGE="sai"
# Nếu bạn thay đổi LXC_BRIDGE thành thứ khác ngoài lxcbr0, thì
# bạn cũng sẽ cần cập nhật /etc/lxc/default.conf cũng như
# cấu hình (/var/lib/lxc/<container>/config) cho mọi vùng chứa
# đã được tạo bằng cách sử dụng cấu hình mặc định để phản ánh cây cầu mới
# Tên.
# Nếu bạn đã cài đặt daemon dnsmasq, bạn cũng sẽ phải cập nhật
# /etc/dnsmasq.d/lxc và khởi động lại daemon dnsmasq trên toàn hệ thống.
LXC_BRIDGE="lxcbr0"
LXC_ADDR="10.0.3.1"
LXC_NETMASK="255.255.255.0"
LXC_NETWORK="10.0.3.0/24"
LXC_DHCP_RANGE="10.0.3.2,10.0.3.254"
LXC_DHCP_MAX="253"
# Bỏ ghi chú dòng tiếp theo nếu bạn muốn sử dụng tệp conf cho lxcbr0
# dnsmasq. Chẳng hạn, bạn có thể sử dụng 'dhcp-host=mail1,10.0.3.100' để có
# container 'mail1' luôn nhận địa chỉ ip 10.0.3.100.
#LXC_DHCP_CONFILE=/etc/lxc/dnsmasq.conf
# Bỏ ghi chú dòng tiếp theo nếu bạn muốn dnsmasq của lxcbr0 giải quyết .lxc
# miền. Sau đó, bạn có thể thêm "server=/lxc/10.0.3.1' (hoặc $LXC_ADDR thực tế của bạn)
# vào tệp cấu hình dnsmasq hệ thống của bạn (thường là /etc/dnsmasq.conf,
# hoặc /etc/NetworkManager/dnsmasq.d/lxc.conf trên hệ thống sử dụng NetworkManager).
# Khi những thay đổi này được thực hiện, hãy khởi động lại dịch vụ lxc-net và trình quản lý mạng.
# 'container1.lxc' sau đó sẽ phân giải trên máy chủ của bạn.
#LXC_DOMAIN="lxc"
--------------------------------------------- ----------------------------------
ajinkya@metaverse:~$ mèo /etc/lxc/default.conf
lxc.net.0.type = veth
lxc.net.0.link=br0
lxc.net.0.flags = lên
lxc.net.0.hwaddr = 00:16:3e:xx:xx:xx
--------------------------------------------- ----------------------------------
ajinkya@metaverse:~$ con mèo .config/lxc/default.conf
lxc.include = /etc/lxc/default.conf
lxc.idmap = u 0 100000 65536
lxc.idmap = g 0 100000 65536
--------------------------------------------- ----------------------------------
ajinkya@metaverse:~$ lxc-ls --fancy
TÊN TIỂU BANG CÁC NHÓM BẮT ĐẦU TỰ ĐỘNG IPV4 IPV6 KHÔNG CÓ ĐẶC QUYỀN
con1 CHẠY 0 - 192.168.0.185 fd01::216:3eff:fe67:d14e đúng
--------------------------------------------- ----------------------------------
trên container
root@con1:/# lsb_release -a
Không có mô-đun LSB nào khả dụng.
ID nhà phân phối: Ubuntu
Mô tả: Ubuntu 16.04.7 LTS
Phát hành: 16.04
Tên mã: xenial
root@con1:/# uname -a
Linux con1 5.11.0-25-generic #27~20.04.1-Ubuntu SMP Thứ ba ngày 13 tháng 7 17:41:23 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
--------------------------------------------- ----------------------------------
root@con1:/# ip một chương trình
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 trạng thái qdisc noqueue nhóm UNKNOWN mặc định qlen 1000
liên kết/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
máy chủ phạm vi inet 127.0.0.1/8 lo
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
inet6 ::1/128 máy chủ phạm vi
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
2: eth0@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc trạng thái noqueue nhóm LÊN mặc định qlen 1000
liên kết/ether 00:16:3e:67:d1:4e brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 192.168.0.185/24 brd 192.168.0.255 phạm vi toàn cầu eth0
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
inet6 fd01::216:3eff:fe67:d14e/64 phạm vi toàn cầu mngtmpaddr động
hợp lệ_lft 272 giây ưa thích_lft 272 giây
liên kết phạm vi inet6 fe80::216:3eff:fe67:d14e/64
hợp lệ_lft mãi mãi ưa thích_lft mãi mãi
--------------------------------------------- ----------------------------------
root@con1:/# ping google.com
ping: máy chủ không xác định google.com
--------------------------------------------- ----------------------------------
root@con1:/# ping 192.168.0.161
PING 192.168.0.161 (192.168.0.161) 56(84) byte dữ liệu.
64 byte từ 192.168.0.161: icmp_seq=1 ttl=64 time=0,115 ms
64 byte từ 192.168.0.161: icmp_seq=2 ttl=64 time=0,133 ms
64 byte từ 192.168.0.161: icmp_seq=3 ttl=64 time=0,189 ms
64 byte từ 192.168.0.161: icmp_seq=4 ttl=64 time=0,127 ms
^C
--- Thống kê ping 192.168.0.161 ---
Truyền 4 gói, nhận 4 gói, mất gói 0%, thời gian 3069ms
rtt tối thiểu/trung bình/tối đa/mdev = 0,115/0,141/0,189/0,028 ms
--------------------------------------------- ----------------------------------