Quy tắc iproute2 và iptables NAT, sự khác biệt là gì?


8

Chúng tôi có 2 kết nối ISP khác nhau. "Anh chàng IT" trước đây của chúng tôi thiết lập tường lửa của chúng tôi như vậy:

Khi /etc/rc.localđược thực hiện khi khởi động, nó đã làm một loạt các ip rule addip route addcác lệnh để tuyến đường nhất định host nội bộ để sử dụng kết nối ISP nào đó.

Sau đó, vào cuối /etc/rc.local, anh ta thực hiện các iptablesquy tắc tường lửa được tạo bởi Firewall Builder. Các iptablesquy tắc này có cả thiết lập quy tắc Chính sách và NAT.

Điều tôi không hiểu, là tại sao anh ta sử dụng iproute2để chỉ định quy tắc và tuyến đường mà còn chỉ định quy tắc NAT cho iptables? Tại sao anh ta không làm tất cả trong một hoặc khác thay vì sử dụng cả hai? Anh ta có thể thoát khỏi các iproute2quy tắc và tuyến đường và chỉ đưa tất cả các quy tắc tương tự vào iptablescài đặt NAT không?

Câu trả lời:


13

Mặc dù có một số sự chồng chéo về chức năng giữa hai công cụ, có rất nhiều điều bạn chỉ có thể làm từ chỉ một trong số các công cụ. iproute2không thể làm bất cứ điều gì với các quy tắc tường lửa netfilter. iptableskhông thể làm những việc như gán địa chỉ IP.

Ngay cả ở những nơi mà chức năng dường như trùng lặp, nó không thực sự trùng lặp. Ví dụ, bạn có thể dịch địa chỉ với cả hai iproute2iptables. Nhưng bản dịch địa chỉ mà bạn có thể thực hiện với iproute không xem xét bất kỳ trạng thái nào và hoàn toàn không viết lại gói tin. Có một số giao thức mạng như FTP, SIP, H.323, v.v ... trong đó các địa chỉ IP được bao gồm trong gói và không chỉ trong các tiêu đề. Nếu bạn sử dụng phương pháp iproute để dịch địa chỉ, các loại giao thức sẽ bị hỏng. Netfilter thực hiện công việc dịch thuật địa chỉ tốt hơn nhiều.

Trong hầu hết các trường hợp chức năng không chồng lấp, nó được xử lý theo các cách khác nhau. Có thể với một mô-đun để thực hiện định tuyến iptables, nhưng lần trước tôi đã kiểm tra mô-đun đó không có trên hầu hết các bản phân phối để không có bộ lọc mạng / iptablesvá với mục tiêu ROUTE . Nếu mục tiêu đó không khả dụng, bạn không thể sử dụng bộ lọc mạng để định tuyến trừ khi bạn có tâm trạng biên dịch các hạt nhân của riêng mình. Quyết định của bạn về việc sử dụng công cụ nào sẽ được đưa ra đơn giản vì tính năng này không có sẵn trong phiên bản của các công cụ bạn đang chạy. Ngay cả khi bạn có mục tiêu ROUTE, theo những gì tôi hiểu, việc sử dụng bộ lọc mạng cho các quyết định định tuyến cũng không hiệu quả bằng việc định tuyến với các bảng định tuyến chuẩn có iproute2thao tác.

Rất nhiều trong số đó cũng đang sử dụng đúng công cụ cho đúng công việc. iproute2được thiết kế chủ yếu để quản lý định tuyến và địa chỉ trên máy tính của bạn. iptables/ Netfilter được xây dựng để tường lửa.

Tôi nghĩ rằng ở những nơi mà một người có thể sử dụng một trong hai công cụ, họ thường sẽ sử dụng công cụ mà họ quen thuộc nhất. Tôi biết tôi sử dụng mục tiêu MARK của iptablesđể gắn cờ một số gói cho một tuyến này hoặc tuyến kia mặc dù tôi có thể viết cùng một quy tắc iproute2.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.