Computer >> Máy Tính >  >> Hệ thống >> Linux

Định cấu hình định tuyến trên Linux (RHEL / CentOS)

Trong bài viết này, chúng tôi sẽ giới thiệu cách định cấu hình định tuyến và quản lý các tuyến mạng trên Linux bằng cách sử dụng ip lệnh trên Linux CentOS (cách xem bảng định tuyến, thêm / bớt các tuyến tĩnh, v.v.). Bài viết có thể áp dụng cho bất kỳ bản phân phối Linux nào khác có ip công cụ (Red Hat, Fedora, v.v.)

Để quản lý định tuyến trong Linux, bạn nên sử dụng ip lệnh thay vì route . route lệnh không cho phép định cấu hình các tính năng định tuyến nâng cao (như chính sách định tuyến) và không thể hiển thị cài đặt định tuyến đặc biệt nếu chúng được đặt bằng ip dụng cụ.

Làm cách nào để Xem Bảng Định tuyến Mạng trong Linux?

Để hiển thị bảng định tuyến hiện tại trong Linux, hãy chạy lệnh sau:

# ip route

Định cấu hình định tuyến trên Linux (RHEL / CentOS)

  • default via 192.168.1.1 dev enp0s3 là cổng mặc định sử dụng giao diện enp0s3 trong ví dụ này. Nếu địa chỉ IP đích không có đường dẫn tĩnh trong bảng định tuyến, gói tin sẽ được gửi qua cổng đó (đường dẫn mặc định);
  • 192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.201 là một tuyến tĩnh cho mạng 192.168.1.0/24 thông qua giao diện 192.168.1.201;
  • proto kernel là một tuyến được tạo bởi hạt nhân (proto static - tuyến đường do quản trị viên thêm vào);
  • metric là mức độ ưu tiên của tuyến đường (giá trị số liệu càng nhỏ thì mức độ ưu tiên càng cao). Nếu có hai tuyến có cùng số liệu (đừng bao giờ làm như vậy!), Hạt nhân sẽ chọn các tuyến một cách ngẫu nhiên.

Để tìm ra giao diện (cổng) nào được sử dụng để định tuyến lưu lượng truy cập đến địa chỉ IP cụ thể, lệnh sau được sử dụng:
# ip route get 192.168.2.45

192.168.2.45 via 192.168.1.1 dev enp0s3 src 192.168.1.201
Bạn có thể sử dụng máy chủ Linux của mình với hai hoặc nhiều giao diện làm bộ định tuyến hoặc cổng Internet. Để bật định tuyến gói giữa nhiều giao diện, hãy bật net.ipv4.ip_forward = 1 tham số hạt nhân.

Thêm và xóa các tuyến tĩnh trong Linux

Để thêm một tuyến mới vào một mạng IP cụ thể trong bảng định tuyến Linux, hãy chạy lệnh sau:

# ip route add 192.168.0.0/24 via 192.168.1.1

Do đó, chúng tôi sẽ thêm tuyến đường cho mạng IP 192.168.0.0/24 thông qua cổng 192.168.1.1.

Định dạng của lệnh ip route rất giống với cú pháp của Cisco IOS. Bạn cũng có thể sử dụng các từ viết tắt ở đây, ví dụ:bạn có thể sử dụng ip pro ad thay vì ip route add .

Định cấu hình định tuyến trên Linux (RHEL / CentOS)

Bạn cũng có thể thêm một tuyến tĩnh riêng cho một địa chỉ IP (máy chủ):

# ip route add 192.168.1.0 via 192.168.1.1

Bạn có thể tạo tuyến rỗng tương tự như Cisco (ip route null0 ). Các gói được gửi tới mạng này bị loại bỏ do Không có đường dẫn đến máy chủ lưu trữ :

# ip route add blackhole 10.1.20.0/24

Các tuyến được thêm bằng phương pháp này là tạm thời và sẽ hoạt động cho đến khi bạn khởi động lại dịch vụ mạng hoặc máy chủ.

Để xóa một tuyến tĩnh được tạo theo cách thủ công, hãy chạy lệnh sau:

# ip route del 192.168.0.0/24

Định cấu hình định tuyến trên Linux (RHEL / CentOS)

Như bạn có thể thấy, tuyến đường đã bị xóa khỏi bảng định tuyến Linux.

Để thêm tuyến liên tục, bạn phải tạo tệp cho tuyến hoặc thêm quy tắc vào rc.local tệp (chạy khi khởi động máy chủ).

Để thêm một tuyến tĩnh vĩnh viễn, bạn cần có tên của giao diện mạng được sử dụng cho việc định tuyến. Bạn có thể lấy tên giao diện mạng bằng lệnh sau:

# ip a

Trong trường hợp của tôi, đó là enp0s3 .

Đây là bài viết chi tiết về cấu hình các giao diện mạng trên RHEL / CentOS Linux.

Định cấu hình định tuyến trên Linux (RHEL / CentOS)

Sau đó, mở tệp sau:

# nano /etc/sysconfig/network-scripts/route-enp0s3

Và thêm dòng chứa tuyến đường tại đây:

192.168.0.0/24 via 192.168.1.1

Sau khi bạn đã thêm tuyến vào tệp, hãy khởi động lại mạng dịch vụ:

# service network restart

Định cấu hình định tuyến trên Linux (RHEL / CentOS)

Sau khi khởi động lại mạng, một tuyến tĩnh xuất hiện trong bảng định tuyến.

Bạn cũng có thể sử dụng một lệnh để thêm một tuyến đường mới vào rc.local để tự động thêm tuyến tĩnh khi máy chủ khởi động. Mở tệp:

# nano /etc/rc.local

Và nhập lệnh thêm tuyến tĩnh:

# ip route add 192.168.0.0/24 via 192.168.1.1

Định cấu hình định tuyến trên Linux (RHEL / CentOS)

Sau đó, nếu máy chủ của bạn được khởi động lại, tuyến sẽ tự động được thêm vào trong quá trình khởi động hệ thống.

Sửa đổi mục nhập tuyến đường hiện có trong Linux

Để thay đổi tuyến đường hiện có, bạn có thể sử dụng ip thay thế tuyến đường lệnh:

# ip route replace 192.168.0.0/24 via 192.168.1.1

Định cấu hình định tuyến trên Linux (RHEL / CentOS)

Để đặt lại tất cả các tuyến tạm thời trong bảng định tuyến, chỉ cần khởi động lại dịch vụ mạng:

# service network restart

Restarting network (via systemctl): [ OK ]

# ip route

default via 192.168.1.1 dev enp0s3 proto static metric 100
192.168.0.0/24 via 192.168.1.1 dev enp0s3 proto static metric 100
192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.201 metric 100

Làm cách nào để Thay đổi Tuyến đường Mặc định hoặc Cổng Mặc định trên Linux?

Bạn có thể xóa một tuyến đường mặc định bằng cách sử dụng ip route del lệnh:

# ip route del default via 192.168.1.1 dev enp0s3

Để đặt một tuyến mặc định mới, lệnh sau được sử dụng trong CentOS / RHEL Linux:

# ip route add default via 192.168.1.2 (một tuyến đường qua địa chỉ IP cổng)

# ip route add default via enp0s3 (một tuyến đường sử dụng tên thiết bị)

Để thay đổi cài đặt tuyến đường mặc định, lệnh này được sử dụng:

# ip route replace default via 192.168.1.2

Định cấu hình định tuyến trên Linux (RHEL / CentOS)