Máy chủ A --internet-- Máy chủ B --internet ipip tunnel-- Máy chủ C
Máy chủ A: 1.1.1.1
Máy chủ B: 2.2.2.2
Máy chủ C: 3.3.3.3
Ubuntu 18.04.
Cấu hình đường hầm ipip máy chủ B
đường hầm ip thêm chế độ đường hầm0 ipip từ xa 3.3.3.3 cục bộ 2.2.2.2
địa chỉ ip thêm 10.0.0.0/32 dev đường hầm0
liên kết ip thiết lập đường hầm0 lên
tuyến ip thêm đường hầm 10.0.0.1/32 dev0
Cấu hình đường hầm Host C ipip
đường hầm ip thêm chế độ đường hầm0 ipip từ xa 2.2.2.2 cục bộ 3.3.3.3
địa chỉ ip thêm 10.0.0.0/32 dev đường hầm0
liên kết ip thiết lập đường hầm0 lên
tuyến ip thêm đường hầm 10.0.1.1/32 dev0
Cũng thế
sysctl net.ipv4.ip_forward=1
Đường hầm đã hoạt động, cả hai máy chủ đều có thể ping địa chỉ IP cục bộ của đầu từ xa (10.x).
Tôi đang cố chuyển tiếp lưu lượng truy cập từ Máy chủ A sang Máy chủ B trên cổng 6300 đến Máy chủ C.
Chúng tôi không thể đặt tuyến đường từ Máy chủ C đến 1.1.1.1 qua Máy chủ B vì ip của Máy chủ A có thể thay đổi thành bất kỳ thứ gì.
Chúng tôi không thể đặt tuyến mặc định từ Máy chủ C đến Máy chủ B vì không phải tất cả lưu lượng truy cập đều đến từ Máy chủ B.
Về cơ bản, tôi muốn Máy chủ C chỉ trả lời bất kỳ lưu lượng truy cập đến nào thông qua giao diện mà lưu lượng truy cập đến.
Lưu lượng truy cập từ 1.1.1.1 đi qua đường hầm0? Gửi câu trả lời tới tunnel0.
Lưu lượng truy cập từ 1.1.1.1 đến qua xxx0? Gửi câu trả lời tới xxx0.
Lưu lượng truy cập từ x.y.z.w đến qua giao diện xxx0? Gửi câu trả lời tới xxx0.
NAT bị cấm. Quá trình lọc được thực hiện trên Máy chủ C, do đó Máy chủ C phải biết IP của Máy chủ A.
Trên Host B tôi đã thử
iptables -A FORWARD -i eth0 -o tunnel0 -j CHẤP NHẬN
iptables -A FORWARD -i tunnel0 -o eth0 -j CHẤP NHẬN
iptables -t nat -A PREROUTING -p tcp --dport 6300 --jump DNAT --to-destination 10.0.0.1
nhưng điều đó đã không làm gì cả. Lưu lượng truy cập từ 1.1.1.1 không đi qua đường hầm0.
Tôi thậm chí không biết những gì tôi nên điều tra. Chuyển tiếp? Lộ trình? iptables? Đánh dấu? Bất kỳ gợi ý nào về những gì tôi nên làm sẽ được đánh giá rất cao!
CHỈNH SỬA
Đã thêm các lệnh đó trên Máy chủ B
sysctl net.ipv4.conf.eth0.forwarding=1
sysctl net.ipv4.conf.tunnel0.forwarding=1
iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 6300 -j DNAT --to-destination 10.0.0.1:6300
iptables -A FORWARD -p tcp -d 10.0.0.1 --dport 6300 -m state --state MỚI, THÀNH LẬP, LIÊN QUAN -j CHẤP NHẬN
và bây giờ lưu lượng truy cập từ Máy chủ A đi vào đường hầm đến Máy chủ C! Tiến bộ vượt bậc!
Nhưng không có lưu lượng truy cập trở lại.
Tôi đã thử thêm phần này vào Máy chủ C để định tuyến các gói
quy tắc ip thêm bảng 11 từ 10.0.0.1/32 dev tunnel0
tuyến ip thêm bảng 11 vào mặc định qua 10.0.0.1 dev tunnel0
nhưng không có may mắn. Có bất kỳ lỗi rõ ràng nào trong các lệnh tôi đã nhập không? -Cảm ơn