Cấu hình GRE Tunnel giữa 2 máy chủ Linux

317

Cấu hình GRE Tunnel giữa 2 máy chủ Linux | Hôm nay mình sẽ hướng dẫn các bạn cấu hình GRE Tunnel trên Linux giúp đóng gói thông tin các giao thức khác nhau hoặc các lưu lượng unicast/multicast đi một kênh đóng gói riêng biệt. Các tính năng của giao thức GRE các bạn có thể đọc thêm tài liệu Cisco hoặc bài viết khác sau này mình sẽ viết.

cấu hình gre tunnel

Có thể bạn quan tâm chủ đề khác
Hướng dẫn xác định tên OS Linux và phiên bản OS bằng bash shell
Cài đặt Guacamole Apache làm Remote Desktop Gateway
Remote Desktop là gì ? 
Cài đặt Ubuntu Server 16.04 LTS
Hướng dẫn chặn ping trên Linux

GRE Tunnel là gì ?

Generic Routing Encapsulation (GRE) là một giao thức được phát triển bởi Cisco, cho phép đóng gói nhiều giao thức ở tầng Network layer trong kết nối point-to-point. Một tunnel GRE được sử dụng khi cần gửi gói tin từ mạng này qua mạng khác hoặc qua mạng không an toàn. Với GRE, một virtual tunnel được tạo ra giữa hai router (linux) đầu cuối và gói tin được đóng gói (encapsulate)/mở gói (decapsulate) gửi qua virtual tunnel.

Một số đặc điểm chung của GRE tunnel

+ GRE tunnel giống IPsec Tunnel vì gói tin gốc được bọc bên ngoài 1 lớp “vỏ”
+ GRE là stateless, và không cung cấp điều khiển luồng (flow control)
+ GRE thêm ít nhất và header 24 byte, trong đó IP header mới 20 byte.
+ GRE hỗ trợ đa giáo thức nên hỗ trợ bất kỳ giao thức lớp 3 nào chạy qua đường hầm(IP, IPX, Apple Talk…)
+ GRE cần thiết cho IP Multicast/ broadcast

Nhược điểm:
+ Không có cơ chế mã hóa
+ Không có cơ chế hash
+ Không có cơ chế xác thực nguồn gốc peer.

Các bạn nếu muốn tìm hiểu sâu hơn về GRE Tunnel thì hãy Google thêm nhé.

Mô hình Lab – GRE Tunnel Linux

  • Host A: 10.12.166.81
  • Host B: 10.12.166.82
  • Network GRE Tunnel: 10.10.10.0/24

lab linux gre

Lưu ý:
– Đây là IP khi làm lab nên dùng IP Private. Trên thực tế bạn có thể áp dụng được IP Public và Private như thường, chỉ cần lưu ý giao thức GRE có được phía DC hỗ trợ hay không nhé.

1. Load module GRE kernel

– Bạn cần load module GRE kernel trên cả 2 máy chủ Host A và B khi cấu hình.

– Kích hoạt module GRE kernel khi khởi động máy chủ Linux.

2. Cấu hình GRE Tunnel

Giả sử ta cần tạo một GRE Tunnel giữa 2 máy chủ Linux có 2 thông tin IP Interface như trên:

Host A: 10.12.166.81
Host B: 10.12.166.82

Lưu ý:
GRE Tunnel cơ bản là hình thức tunnel point-to-point, tức là một tunnel riêng giữa 2 thiết bị router hoặc máy chủ .

2.1 Cú pháp lệnh

Bạn có thể khởi tạo GRE Tunnel bằng cấu hình trực tiếp trên command line. Tuy nhiên cách này chỉ có tác dụng tạm thời, khi reboot sẽ mất cấu hình. Bạn muốn cấu hình mang tĩnh ‘vĩnh viễn‘ thì coi ở phần 3.

Cú pháp:

+ Host A
Trên máy chủ Host A ta chạy lệnh như trên với các tham số thông tin IP phù hợp. Câu lệnh 3 sẽ khai báo thông tin IP của virtual_interface dùng trong lớp mạng point-to-point GRE Network.

Kiểm tra route mạng virtual GRE có đi qua virtual interface GRE chưa.

+ Host B
Trên máy chủ Host B ta chạy các lệnh sau.

Kiểm tra route mạng virtual GRE có đi qua virtual interface GRE chưa.

Lúc này một tunnel GRE sẽ được thiết lập giữa hai máy chủ Host A và Host B.

2.2 Huỷ GRE Tunnel

Nếu bạn muốn huỷ interface ảo ‘gre1’ và huỷ GRE Tunnel đi không xài nữa thì sử dụng lệnh như sau trên cả 2 máy chủ Linux.

2.3 Thiết lập firewall

– Bạn cần mở firewall rule cho giao thức GRE ở 2 máy chủ Host A và B, cho phép 2 bên tạo lập GRE Tunnel.
– Sau đó mở thêm rule cho phép giữa 2 cổng virtual interface giao tiếp.

+ Host A

+ Host B

2.4 Kiểm tra hoạt động GRE Tunnel

– Đứng từ máy chủ Host A (10.10.10.1) ta ping IP trong lớp mạng tunnel private của máy chủ B (10.10.10.2) và ngược lại.

+ Host A

+ Host B

– Chúng ta sẽ bắt gói tin để kiểm tra hoạt động của GRE Tunnel nhé.

+ Host A
– Đứng trên máy chủ Host A , bật tcpdump để bắt các gói tin GRE. Sau đó qua máy chủ Host B ping đến địa chỉ IP private tunnel (10.10.10.1)

3. Cấu hình file config GRE tunnel

– Chúng ta có thể cấu hình file tĩnh cho interface gre1 để khởi tạo tunnel GRE khi máy chủ CentOS vừa khởi động lên.

+ Host A (10.12.166.81)

+ Host B (10.12.166.82)

Chú thích:
– Giờ bạn chỉ cần khởi động lại dịch vụ mạng là được, hoặc reboot lại OS là kiểm tra được liền là cấu hình GRE có được khởi chạy khi khởi động hệ thống Linux hay không.

Vậy là các bạn đã biết cách để cấu hình GRE Tunnel giữa 2 máy chủ Linux rồi phải không nào !? Chúc các bạn thành công.

Nguồn: https://cuongquach.com/

Đánh giá sao từ người đọc :
[ Tổng : 0 - Trung bình: 0 ]