Tôi muốn kết nối một số mạng LAN nằm trên các tòa nhà từ xa.
Trang web "trung tâm" có máy tính Linux chạy OpenVPN. Mỗi trang web từ xa cũng chạy OpenVPN.
- trang trung tâm có mạng LAN được đánh số 192.168.0.0/24
- một số trang web từ xa cũng được đánh số 192.168.0.0/24
- Tôi không thể / sẽ không / không muốn / sửa đổi đánh số mạng LAN
- Tôi không có quyền kiểm soát trên hầu hết các OpenVPN từ xa
Sau đó tôi cần:
1. xác định mạng LAN ảo
2. định cấu hình NAT 1: 1 cho mỗi trang web
3. NAT 1: 1 phải được định cấu hình trên bộ định tuyến trung tâm
.
Vì vậy, mỗi trang web được xem là có 10.10.x.0 / 24 LAN.
Khi một máy tính muốn tiếp cận, giả sử, 192.168.0.44 trên trang 12, nó chỉ cần gửi một paquet đến 10.10.12.44
Vận hành VPN không phải là vấn đề đối với tôi. Tôi hiện đang kết nối hơn 60 trang web. Nhưng tôi không tìm thấy một cách đơn giản để làm điều này 1: 1 NAT.
Dưới đây là ví dụ về gói được gửi từ trang trung tâm đến trang từ xa và gói phản hồi của nó:
Tôi đã thực hiện một số thử nghiệm với iptables NETMAP nhưng tôi không thể quản lý để làm cho nó hoạt động vì tôi không tìm cách sửa đổi nguồn + đích sau khi quyết định định tuyến.
Tôi muốn tránh --client-nat
tính năng mới của OpenVPN.
Có lẽ tôi phải buộc định tuyến với ip route
? Hoặc để lặp hai lần vào ngăn xếp mạng với veth
?
Lưu ý: Tôi không muốn sử dụng hóa trang. Chỉ 1/1 NAT.
EDIT:
Không thể với thiết lập openVPN thông thường. Bởi vì một gói từ một trang web từ xa không thể phân biệt được với một gói từ một trang web khác: cả hai đều có địa chỉ nguồn và đích giống nhau và cả hai đều đến từ cùng một giao diện điều chỉnh (hoặc nhấn). Vì vậy, nó không thể nguồn NAT.
Giải pháp 1: làm NAT trên các trang web từ xa. Không thể trong trường hợp của tôi. Tôi phải làm điều đó chỉ trên trang web trung tâm.
Giải pháp 2: thiết lập một VPN cho mỗi trang web từ xa. Vì vậy, tôi sẽ có một điều chỉnh cho mỗi. Tôi nghĩ rằng điều này có thể là ok. Không hiệu quả lắm bộ nhớ nhưng ok.
Giải pháp 3: thiết lập một đường hầm (không được mã hóa) bên trong VPN cho mỗi trang web. Điều này sẽ cung cấp một giao diện cho mỗi. Các đường hầm đơn giản không phải là nền tảng chéo (theo sở trường của tôi). Ví dụ: GRE hoặc ipip hoặc sit đều ổn đối với Linux, nhưng một số trang web ở xa chỉ chạy một máy tính Windows, vì vậy openVPN được cài đặt trên nó. Vì vậy, không thể thiết lập một đường hầm đơn giản. Tùy chọn khác là sử dụng một đường hầm phức tạp hơn (wich?) Nhưng chi phí hoạt động trên hệ thống và trên sysadmin có thể lớn hơn so với việc có nhiều VPN
Giải pháp 4: biên dịch openVPN mới nhất, bởi vì nó bao gồm tính năng NAT 1: 1. Tôi kiểm tra tuần này.