Định tuyến giữa nhiều mạng con


10

Giả sử tôi muốn tạo một mạng nội bộ với 4 mạng con. Không có bộ định tuyến trung tâm hoặc chuyển đổi. Tôi có sẵn một "mạng con quản lý" để liên kết các cổng trên tất cả bốn mạng con (192.168.0.0/24). Sơ đồ chung sẽ như thế này:

10.0.1.0/24 <-> 10.0.2.0/24 <-> 10.0.3.0/24 <-> 10.0.4.0/24

Nói cách khác, tôi định cấu hình một hộp linux duy nhất trên mỗi mạng con với 2 giao diện, 10.0.x.1 và 192.168.0.x. Những chức năng này như các thiết bị cổng cho mỗi mạng con. Sẽ có nhiều máy chủ cho mỗi mạng con 10.x / 24. Các máy chủ khác sẽ chỉ có 1 giao diện khả dụng là 10.0.xx

Tôi muốn mỗi máy chủ có thể ping từng máy chủ khác trên bất kỳ mạng con nào khác. Câu hỏi của tôi là đầu tiên: điều này có thể. Và thứ hai, nếu vậy, tôi cần một số trợ giúp để cấu hình iptables và / hoặc tuyến đường. Tôi đã thử nghiệm điều này, nhưng chỉ có thể đưa ra giải pháp cho phép ping theo một hướng (các gói icmp chỉ là một ví dụ, cuối cùng tôi thích khả năng mạng đầy đủ giữa các máy chủ, ví dụ như ssh, telnet, ftp, v.v.) .

Câu trả lời:


8

Ok, do đó bạn có năm mạng 10.0.1.0/24, 10.0.2.0/24, 10.0.3.0/24, 10.0.4.0/24192.168.0.0/24, và bốn hộp định tuyến giữa chúng. Hãy nói rằng các hộp định tuyến có địa chỉ 10.0.1.1/192.168.0.1, 10.0.2.1/192.168.0.2, 10.0.3.1/192.168.0.3, và 10.0.4.1/192.168.0.4.

Bạn sẽ cần thêm các tuyến tĩnh vào các 10.0.x.0/24mạng khác trên mỗi hộp bộ định tuyến, với các lệnh như thế này (EDITED!):

# on the 10.0.1.1 box
ip route add 10.0.2.0/24 via 192.168.0.2
ip route add 10.0.3.0/24 via 192.168.0.3
ip route add 10.0.4.0/24 via 192.168.0.4

và các tuyến tương ứng trên các hộp bộ định tuyến khác. Trên các hộp không định tuyến chỉ có một giao diện, hãy đặt tuyến mặc định thành trỏ đến 10.0.x.1. Tất nhiên bạn cũng sẽ phải thêm các địa chỉ tĩnh và mặt nạ mạng trên tất cả các giao diện.

Cũng lưu ý rằng linux không hoạt động như một bộ định tuyến theo mặc định, bạn sẽ cần phải bật chuyển tiếp gói với:

echo 1 > /proc/sys/net/ipv4/ip_forward

Các iplệnh trên không làm cho các cài đặt liên tục, làm thế nào để làm điều đó phụ thuộc vào phân phối.

Như tôi đã nói, tôi đã không kiểm tra điều này và có thể đã quên điều gì đó.


Cảm ơn sự giúp đỡ ở đây. Những gì bạn khuyên làm việc khi tôi ping bộ định tuyến đến bộ định tuyến (10.0.1.1 đến 10.0.2.1), nhưng không phải khi tôi ping một máy chủ khác. Ví dụ, ping từ 10.0.1.1 đến 10.0.2.2 dẫn đến không có lưu lượng truy cập nào được định tuyến đến máy chủ 10.0.2.2. Bạn có đề nghị thực hiện một số thao tác iptables bằng cách nào đó? Tôi đã thử nghiệm điều này trong một vài ngày nhưng không có kết quả.
greyline

Kỹ thuật định tuyến tiêu chuẩn nên là đủ. Đây là một danh sách kiểm tra: 1. tất cả các địa chỉ nên được thiết lập trên máy chủ (ví dụ: ip addr add 10.0.2.2/24 dev eth0), 2. các tuyến nên được thiết lập trên bốn hộp bộ định tuyến như trên, 3. tuyến mặc định trên các hộp không có bộ định tuyến nên được thiết lập để trỏ đến hộp định tuyến trên mạng (ví dụ: tuyến ip thêm mặc định qua 10.0.1.1), 4. cat / Proc / sys / net / ipv4 / ip_forward trên bốn hộp bộ định tuyến nên in "1".
Johan Myréen

Tôi đã sửa một lỗi trong các lệnh ip tuyến trên. Tôi cũng thực sự đã thử nghiệm thiết lập này, mặc dù chỉ với bốn máy: hai hộp định tuyến và hai máy chủ ở hai bên 10.0.x.0. Nó hoạt động!
Johan Myréen

Johan, cảm ơn cho đầu vào bổ sung của bạn. Thiết lập này không hoạt động. Hóa ra hình ảnh Linux tôi đang sử dụng có các quy tắc iptables mặc định đang gặp vấn đề. Cảm ơn bạn đã giúp tôi trong việc học về điều này.
greyline
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.