Điểm:1

LXC Container trên cùng một mạng với máy chủ có truy cập internet

lá cờ ng

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:

  1. Vùng chứa LXC sẽ được hiển thị với mạng cục bộ của tôi
  2. 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:

mạng

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
--------------------------------------------- ----------------------------------
Ajinkya Bawaskar avatar
lá cờ ng
![Kiến trúc mạng](https://discuss.linuxcontainers.org/uploads/default/original/2X/3/347711b37bf6c52a5b55bceae877378a5d5811a0.png)
A.B avatar
lá cờ cl
A.B
Chỉ cần nhận thấy có sự khác biệt: giao diện của bạn gợi ý Ethernet bình thường, trong khi hình ảnh gợi ý Wifi. Cầu nối hoạt động trên Ethernet thường sẽ không hoạt động trên mạng không dây đối với STA(tion client) thay vì AP: mặc định là chế độ 3 địa chỉ thay vì 4 (https://networkengineering.stackexchange.com/questions/25100/four- layer-2-address-in-802-11-frame-header để biết một số chi tiết).
Điểm:0
lá cờ np

Theo điều này:

ping: máy chủ không xác định google.com

Bạn không có máy chủ DNS hợp lệ trong /etc/resolv.conf của thùng chứa của bạn. Chỉnh sửa nó và bao gồm máy chủ định danh x.x.x.x dòng để phù hợp với máy chủ DNS của bạn. Hoặc cài đặt máy chủ định danh đệ quy cục bộ, chẳng hạn như dnsmasq bên trong vùng chứa của bạn.

Bạn có thể dùng DNS công cộng của Google máy chủ chẳng hạn:

máy chủ định danh 8.8.8.8
máy chủ định danh 8.8.4.4

Nếu cách này không hiệu quả, trước tiên bạn có thể thử ping các IP Internet hợp lệ từ vùng chứa của mình (nghĩa là không phải theo tên DNS), chẳng hạn như ping 8.8.8.8. Ngoài ra, bạn nên kiểm tra xem bạn có thể ping máy chủ thực Ubuntu của mình không 192.168.0.166 từ thùng chứa của bạn. Nó sẽ có thể truy cập được.

Ajinkya Bawaskar avatar
lá cờ ng
Tôi có thể truy cập máy chủ thực ubuntu đến & từ bên trong vùng chứa, mặc dù việc chỉnh sửa `/etc/resolv.conf` không giải quyết được vấn đề. Tôi không thể truy cập trực tiếp vào google.com cũng như 8.8.8.8.
lá cờ np
@AjinkyaBawaskar vui lòng chạy `ip route && traceroute 8.8.8.8` từ CT và đăng nó ở đây.
Ajinkya Bawaskar avatar
lá cờ ng
Cảm ơn vì đã trả lời. ```bash root@con1:/# ip route mặc định qua 192.168.0.1 dev eth0 192.168.0.0/24 dev eth0 liên kết phạm vi kernel proto src 192.168.0.185 ``` Tuy nhiên, tôi không thể chạy `traceroute` vì nó không được cài đặt sẵn bên trong bộ chứa và tôi không thể cài đặt nó bằng apt-get do không có internet bên trong bộ chứa.
lá cờ np
Bộ định tuyến `192.168.0.1` của bạn có ping từ vùng chứa không? Nếu có, bạn đã nhận được IP `192.168.0.185` qua DHCP hay đặt thủ công (tức là IP tĩnh) chưa?
Ajinkya Bawaskar avatar
lá cờ ng
Tôi nhận được IP từ DHCP thuê từ bộ định tuyến của mình. Kết quả `ping` được thể hiện [tại đây](https://discuss.linuxcontainers.org/t/lxc-container-on-same-network-as-host-with-internet-access/12038/7?u=ajinkyabawaskar )
lá cờ np
Ok, có vẻ như tôi đã đến đó, bạn có một vấn đề bây giờ. Bạn phải kết nối mạng có dây và không dây bằng cách nào đó. Hiện tại chúng nằm trên cùng một mạng con IP nhưng trên các giao diện khác nhau. Bạn có thể thử chuyển đổi eth & wlan thành bridge trên `192.168.0.166` nhưng bộ định tuyến không dây của bạn phải "hiểu" rằng có thể có nhiều hơn 1 IP đằng sau kết nối không dây. Điều đó thực sự phụ thuộc vào bộ định tuyến, nhưng điều đó sẽ hoạt động với hầu hết chúng.
Ajinkya Bawaskar avatar
lá cờ ng
Hãy để chúng tôi [tiếp tục cuộc thảo luận này trong cuộc trò chuyện](https://chat.stackexchange.com/rooms/129158/discussion-between-ajinkya-bawaskar-and-nstorm).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.