Cài IP LAN Cho Docker Trên Synology Bằng Macvlan

5/5 - (1 bình chọn)
  • Bài viết sau đây hướng dẫn cấp địa chỉ IP LAN cho Docker chạy trên Synology giống như một máy chủ vật lý trong trường hợp sử dụng nhiều dịch vụ cùng Port trên Synology

B1: Bật chức năng SSH để đăng nhập vào Synology

B2 : Tạo mạng macvlan cho Docker

  • Sau khi login SSH vào Synology thì chạy dòng lệnh sau
sudo docker network create -d macvlan -o parent=eth0 --subnet=192.168.1.0/24 --gateway=192.168.1.1 --ip-range=192.168.1.253/30 LAN_Network
  • ip-range
    • ip-range=192.168.1.X/32 : Cấp IP x cho 1 thiết bị
    • ip-range=192.168.1.X/31 : Cấp IP cho 2 thiết bị với IP bắt đầu từ INT(X/2)*2
    • ip-range=192.168.1.X/30 : Cấp IP cho 4 thiết bị với IP bắt đầu từ INT(X/4)*4
    • ip-range=192.168.1.X/29 : Cấp IP cho 8 thiết bị với IP bắt đầu từ INT(X/8)*8
      • VD : 192.168.1.247/29 : INT(247/8)= INT(30.875)=30
      • => IP bắt đầu từ 30*8=240 đến 247
  • subnet : 24 = 255.255.255.0 ; 16 = 255.255.0.0
  • subnet và gateway chỉnh lại theo dãi IP LAN của bạn
  • LAN_Network : là tên mạng hiển thị trong Docker

Lưu ý : Nếu khi Docker không thể khởi động và báo lỗi :

Start container DOCKER-NAME failed: {"message":"failed to create the macvlan port: device or resource busy"}.

Thì thay thế eth0 bằng ovs_eth0

sudo docker network create -d macvlan -o parent=ovs_eth0 --subnet=192.168.1.0/24 --gateway=192.168.1.1 --ip-range=192.168.1.253/30 LAN_Network 

Với câu lệnh trên tạo ra mạng LAN_Network cấp tối đa 4 IP bắt đầu từ 252

Tạo mạng Bridge để kết nối Container với Synology

  • Thêm mạng Bridge để kết nối Container bằng câu lệnh sau :
sudo docker network create -d bridge -o parent=ovs_eth0 --subnet=192.168.2.0/24 --gateway=192.168.2.1 --ip-range=192.168.2.254/32 LAN_MyDDNS

Câu lệnh trên tạo ra mạng LAN_MyDDNS với IP cố định là 192.168.2.254

  • Nếu sử dụng nhiều Container thì tiếp tục tạo thêm mạng Bridge
sudo docker network create -d bridge -o parent=ovs_eth0 --subnet=192.168.3.0/24 --gateway=192.168.3.1 --ip-range=192.168.3.254/32 LAN_Cpanel

Lưu ý : Để tránh trường hợp mạng Bridge không cấp Port cho Container thì tên mạng đặt theo dạng LAN_… và chử cái đầu tiên trong phần … viết hoa

  • Bài viết này thực hiện trên DMS 7 và Docker phiên bản 20.10.3-1233
0929235789