Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1

Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
Tiếp tục câu chuyện về ZeroTier, từ lý thuyết được nêu trong bài viết “Bộ chuyển mạch Ethernet thông minh cho hành tinh Trái đất", tôi chuyển sang thực hành trong đó:

  • Hãy tạo và cấu hình bộ điều khiển mạng riêng
  • Hãy tạo một mạng ảo
  • Hãy cấu hình và kết nối các nút với nó
  • Hãy kiểm tra kết nối mạng giữa chúng
  • Hãy chặn quyền truy cập vào GUI của bộ điều khiển mạng từ bên ngoài

Sự kiểm soát mạng lưới

Như đã đề cập trước đó, để tạo mạng ảo, quản lý chúng cũng như kết nối các nút, người dùng cần có bộ điều khiển mạng, giao diện đồ họa (GUI) tồn tại ở hai dạng:

Tùy chọn GUI ZeroTier

  • Một từ nhà phát triển ZeroTier, có sẵn dưới dạng giải pháp SaaS trên đám mây công cộng với bốn gói đăng ký, bao gồm cả gói miễn phí nhưng bị giới hạn về số lượng thiết bị được quản lý và mức hỗ trợ
  • Thứ hai là từ một nhà phát triển độc lập, có chức năng được đơn giản hóa phần nào nhưng có sẵn dưới dạng giải pháp nguồn mở riêng để sử dụng tại chỗ hoặc trên tài nguyên đám mây.

Trong quá trình luyện tập của mình, tôi đã sử dụng cả hai và kết quả là cuối cùng tôi đã quyết định sử dụng cái thứ hai. Nguyên nhân là do cảnh báo của nhà phát triển.

“Bộ điều khiển mạng đóng vai trò là cơ quan cấp chứng chỉ cho mạng ảo ZeroTier. Các tập tin chứa khóa bí mật của bộ điều khiển phải được bảo vệ cẩn thận và lưu trữ an toàn. Sự thỏa hiệp của họ cho phép những kẻ tấn công trái phép tạo ra các cấu hình mạng gian lận và việc mất chúng sẽ dẫn đến mất khả năng kiểm soát và quản lý mạng, khiến mạng không thể sử dụng được.”

Liên kết đến tài liệu

Và ngoài ra, có dấu hiệu hoang tưởng về an ninh mạng của chính bạn :) 

  • Ngay cả khi Cheburnet xuất hiện, tôi vẫn phải có quyền truy cập vào bộ điều khiển mạng của mình;
  • Chỉ có tôi nên sử dụng bộ điều khiển mạng. Nếu cần thiết, cung cấp quyền truy cập cho đại diện được ủy quyền của bạn;
  • Có thể hạn chế quyền truy cập vào bộ điều khiển mạng từ bên ngoài.

Trong bài viết này, tôi không thấy có nhiều điểm cần đề cập riêng về cách triển khai bộ điều khiển mạng và GUI cho nó trên các tài nguyên vật lý hoặc ảo tại chỗ. Và cũng có 3 lý do cho việc này: 

  • sẽ có nhiều thư hơn dự định
  • về chuyện này rồi kể lại trên nhà phát triển GUI GitHab
  • chủ đề của bài viết là về một cái gì đó khác

Do đó, chọn con đường ít trở ngại nhất, trong câu chuyện này tôi sẽ sử dụng bộ điều khiển mạng có GUI dựa trên VDS, được tạo bởi từ mẫu, được phát triển bởi các đồng nghiệp của tôi từ RuVDS.

Thiết lập ban đầu

Sau khi tạo máy chủ từ mẫu được chỉ định, người dùng sẽ có quyền truy cập vào bộ điều khiển Web-GUI thông qua trình duyệt bằng cách truy cập https:// :3443

Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
Theo mặc định, máy chủ đã chứa chứng chỉ TLS/SSL tự ký được tạo trước. Đối với tôi điều này là đủ vì tôi chặn quyền truy cập vào nó từ bên ngoài. Đối với những người muốn sử dụng các loại chứng chỉ khác, có hướng dẫn cài đặt trên nhà phát triển GUI GitHab.

Khi người dùng đăng nhập lần đầu tiên Đăng nhập với thông tin đăng nhập và mật khẩu mặc định - quản trị viên и mật khẩu:

Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
Nó gợi ý thay đổi mật khẩu mặc định thành mật khẩu tùy chỉnh

Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
Tôi làm hơi khác một chút - Tôi không thay đổi mật khẩu của người dùng hiện tại mà tạo mật khẩu mới - Tạo người dùng.

Tôi đặt tên của người dùng mới - Tên đăng nhập (Username):
Tôi đặt mật khẩu mới - Nhập mật khẩu mới
Tôi xác nhận mật khẩu mới - Nhập lại mật khẩu:

Các ký tự bạn nhập có phân biệt chữ hoa chữ thường - hãy cẩn thận!

Hộp kiểm để xác nhận thay đổi mật khẩu ở lần đăng nhập tiếp theo - Thay đổi mật khẩu trong lần đăng nhập tiếp theo: Tôi không ăn mừng. 

Để xác nhận dữ liệu đã nhập, nhấn Đặt mật khẩu:

Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
Sau đó: Tôi đăng nhập lại - Đăng xuất / Đăng nhập, đã có thông tin đăng nhập của người dùng mới:

Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
Tiếp theo, tôi chuyển đến tab người dùng - Người dùng và xóa người dùng quản trị viênbằng cách nhấp vào biểu tượng thùng rác nằm ở bên trái tên của anh ấy.

Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
Trong tương lai, bạn có thể thay đổi mật khẩu của người dùng bằng cách nhấp vào tên của người đó hoặc mật khẩu đã đặt.

Tạo mạng ảo

Để tạo mạng ảo người dùng cần vào tab Thêm mạng. Từ điểm người sử dang điều này có thể được thực hiện thông qua trang Trang Chủ — trang chính của Web-GUI, hiển thị địa chỉ ZeroTier của bộ điều khiển mạng này và chứa liên kết đến trang danh sách các mạng được tạo thông qua nó.

Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
Trên trang Thêm mạng người dùng gán tên cho mạng mới được tạo.

Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
Khi áp dụng dữ liệu đầu vào - Tạo mạng người dùng được đưa đến một trang có danh sách các mạng, trong đó có: 

Tên mạng — tên của mạng ở dạng liên kết, khi bạn nhấp vào nó, bạn có thể thay đổi nó 
ID mạng - mã định danh mạng
chi tiết - liên kết đến một trang có thông số mạng chi tiết
thiết lập dễ dàng - liên kết đến trang để dễ dàng thiết lập
thành viên - liên kết đến trang quản lý nút

Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
Để thiết lập thêm, hãy theo liên kết thiết lập dễ dàng. Trên trang mở ra, người dùng chỉ định một dải địa chỉ IPv4 cho mạng đang được tạo. Việc này có thể được thực hiện tự động bằng cách nhấn nút Tạo địa chỉ mạng hoặc thủ công bằng cách nhập mặt nạ mạng vào trường thích hợp CIDR.

Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
Khi xác nhận nhập dữ liệu thành công, bạn phải quay lại trang có danh sách các mạng bằng nút Quay lại. Tại thời điểm này, việc thiết lập mạng cơ bản có thể được coi là hoàn tất.

Kết nối các nút mạng

  1. Đầu tiên, dịch vụ ZeroTier One phải được cài đặt trên nút mà người dùng muốn kết nối mạng.

    ZeroTier One là gì?KhôngCấp Một là dịch vụ chạy trên máy tính xách tay, máy tính để bàn, máy chủ, máy ảo và bộ chứa cung cấp kết nối với mạng ảo thông qua cổng mạng ảo, tương tự như máy khách VPN. 

    Sau khi dịch vụ được cài đặt và khởi động, bạn có thể kết nối với mạng ảo bằng địa chỉ 16 chữ số của chúng. Mỗi mạng xuất hiện dưới dạng một cổng mạng ảo trên hệ thống, hoạt động giống như cổng Ethernet thông thường.
    Có thể tìm thấy các liên kết tới các bản phân phối cũng như các lệnh cài đặt trên trang của nhà sản xuất.

    Bạn có thể quản lý dịch vụ đã cài đặt thông qua thiết bị đầu cuối dòng lệnh (CLI) với quyền quản trị viên/root. Trên Windows/MacOS cũng sử dụng giao diện đồ họa. Trong Android/iOS chỉ sử dụng GUI.

  2. Kiểm tra sự thành công của việc cài đặt dịch vụ:

    CLI:

    zerotier-cli status

    Kết quả: 

    200 info ebf416fac1 1.4.6 ONLINE
    GUI:

    Thực tế là ứng dụng đang chạy và sự hiện diện của một dòng có Node ID với địa chỉ nút trong đó.

  3. Kết nối một nút với mạng:

    CLI:

    zerotier-cli join <Network ID>

    Kết quả: 

    200 join OK

    GUI:

    Windows: nhấp chuột phải vào biểu tượng KhôngCấp Một trong khay hệ thống và chọn mục - Tham gia mạng.

    Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
    Hệ điều hành Mac: Chạy chương trình KhôngCấp Một trong menu thanh, nếu chưa được khởi chạy. Bấm vào biểu tượng ⏁ và chọn Tham gia mạng.

    Android/iOS: + (cộng với hình ảnh) trong ứng dụng

    Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
    Trong trường xuất hiện, nhập bộ điều khiển mạng được chỉ định trong GUI ID mạng, và hãy nhấn Tham gia/Thêm mạng.

  4. Gán địa chỉ IP cho máy chủ
    Bây giờ chúng ta quay lại bộ điều khiển mạng và trên trang có danh sách các mạng theo liên kết thành viên. Nếu bạn nhìn thấy hình ảnh tương tự như hình ảnh này trên màn hình, điều đó có nghĩa là bộ điều khiển mạng của bạn đã nhận được yêu cầu xác nhận kết nối với mạng từ nút được kết nối.

    Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
    Trên trang này, chúng tôi giữ nguyên mọi thứ hiện tại và theo liên kết Chuyển nhượng IP đi tới trang gán địa chỉ IP cho nút:

    Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
    Sau khi gán địa chỉ, nhấn nút Quay lại quay lại trang danh sách các nút được kết nối và đặt tên - Tên thành viên và chọn hộp kiểm để ủy quyền cho nút trên mạng - Ủy quyền. Nhân tiện, hộp kiểm này rất thuận tiện cho việc ngắt kết nối/kết nối khỏi mạng chủ trong tương lai.

    Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
    Lưu thay đổi bằng nút Refresh.

  5. Kiểm tra trạng thái kết nối của nút với mạng:
    Để kiểm tra trạng thái kết nối trên chính nút đó, hãy chạy:
    CLI:

    zerotier-cli listnetworks

    Kết quả:

    200 listnetworks <nwid> <name> <mac> <status> <type> <dev> <ZT assigned ips>
    200 listnetworks 2da06088d9f863be My_1st_VLAN be:88:0c:cf:72:a1 OK PRIVATE ethernet_32774 10.10.10.2/24

    GUI:

    Trạng thái mạng sẽ ổn

    Để kết nối các nút còn lại, lặp lại thao tác 1-5 cho mỗi nút.

Kiểm tra kết nối mạng của các nút

Tôi làm điều này bằng cách chạy lệnh ping trên thiết bị được kết nối với mạng mà tôi hiện đang quản lý.

Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
Trong ảnh chụp màn hình của bộ điều khiển Web-GUI, bạn có thể thấy ba nút được kết nối với mạng:

  1. ZTNCUI - 10.10.10.1 - bộ điều khiển mạng của tôi với GUI - VDS ở một trong các DC RuVDS. Đối với công việc bình thường thì không cần thêm vào mạng nhưng tôi làm điều này vì muốn chặn quyền truy cập vào giao diện web từ bên ngoài. Thêm về điều này sau. 
  2. MyComp - 10.10.10.2 - máy tính làm việc của tôi là một PC vật lý
  3. Sao lưu - 10.10.10.3 — VDS ở một DC khác.

Do đó, từ máy tính làm việc của mình, tôi kiểm tra tính khả dụng của các nút khác bằng các lệnh:

ping 10.10.10.1

Pinging 10.10.10.1 with 32 bytes of data:
Reply from 10.10.10.1: bytes=32 time=14ms TTL=64
Reply from 10.10.10.1: bytes=32 time=4ms TTL=64
Reply from 10.10.10.1: bytes=32 time=7ms TTL=64
Reply from 10.10.10.1: bytes=32 time=2ms TTL=64

Ping statistics for 10.10.10.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 2ms, Maximum = 14ms, Average = 6ms

ping 10.10.10.3

Pinging 10.10.10.3 with 32 bytes of data:
Reply from 10.10.10.3: bytes=32 time=15ms TTL=64
Reply from 10.10.10.3: bytes=32 time=4ms TTL=64
Reply from 10.10.10.3: bytes=32 time=8ms TTL=64
Reply from 10.10.10.3: bytes=32 time=4ms TTL=64

Ping statistics for 10.10.10.3:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 4ms, Maximum = 15ms, Average = 7ms

Người dùng có quyền sử dụng các công cụ khác để kiểm tra tính khả dụng của các nút trên mạng, cả hai đều được tích hợp trong HĐH và như NMAP, Advanced IP Scanner, v.v.

Chúng tôi ẩn quyền truy cập vào GUI của bộ điều khiển mạng từ bên ngoài.

Nói chung, tôi có thể giảm khả năng truy cập trái phép vào VDS nơi đặt bộ điều khiển mạng của tôi bằng cách sử dụng tường lửa trong tài khoản cá nhân RuVDS của tôi. Chủ đề này có nhiều khả năng cho một bài viết riêng biệt. Do đó, ở đây tôi sẽ chỉ cách cung cấp quyền truy cập vào bộ điều khiển GUI từ mạng mà tôi đã tạo trong bài viết này.

Để thực hiện việc này, bạn cần kết nối qua SSH với VDS nơi đặt bộ điều khiển và mở tệp cấu hình bằng lệnh:

nano /opt/key-networks/ztncui/.env

Trong tệp đã mở, sau dòng “HTTPS_PORT=3443” chứa địa chỉ của cổng mà GUI mở ra, bạn cần thêm một dòng bổ sung có địa chỉ mà GUI sẽ mở - trong trường hợp của tôi là HTTPS_HOST=10.10.10.1 .XNUMX. 

Tiếp theo tôi sẽ lưu tập tin

Сtrl+C
Y
Enter 

và chạy lệnh:

systemctl restart ztncui

Và thế là xong, giờ đây GUI của bộ điều khiển mạng của tôi chỉ khả dụng cho các nút mạng 10.10.10.0.24.

Thay vì một kết luận 

Đây là nơi tôi muốn kết thúc phần đầu tiên của hướng dẫn thực hành tạo mạng ảo dựa trên ZeroTier. Tôi mong chờ lời nhận xét của bạn. 

Trong thời gian chờ đợi, để dành thời gian cho đến khi xuất bản phần tiếp theo, trong đó tôi sẽ cho bạn biết cách kết hợp mạng ảo với mạng vật lý, cách tổ chức chế độ "chiến binh đường trường" và một số thứ khác, tôi khuyên bạn nên thử tổ chức mạng ảo của riêng bạn bằng bộ điều khiển mạng riêng có GUI dựa trên VDS từ thị trường trên website RUVDS. Hơn nữa, tất cả khách hàng mới đều có thời gian dùng thử miễn phí là 3 ngày!

PS Đúng! Tôi gần như quên mất! Bạn có thể xóa một nút khỏi mạng bằng lệnh trong CLI của nút này.

zerotier-cli leave <Network ID>

200 leave OK

hoặc lệnh Xóa trong GUI máy khách trên nút.

-> Giới thiệu. Phần lý thuyết. Bộ chuyển mạch Ethernet thông minh cho hành tinh Trái đất
-> Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1
-> Hướng dẫn thực tế để xây dựng mạng ảo. Phần 2

Được cung cấp bởi ZeroTier. Hướng dẫn thực tế để xây dựng mạng ảo. Phần 1

Nguồn: www.habr.com

Thêm một lời nhận xét