Hóa ra vấn đề của tôi với đường hầm phân chia được đặt ở một khu vực hoàn toàn khác, do tôi có 2 bộ định tuyến ở nhà nên mạng gia đình của tôi giống như: ISP <-> R1 <-> R2 <-> Me.
... và R1 được cấu hình thành địa chỉ IP trong dải 10.0.0.0/24.
Khi bạn tắt định tuyến mặc định trong máy khách Windows VPN, thì nó sẽ thêm một tuyến dựa trên lớp được cài đặt, vì vậy trong trường hợp của tôi, nó sẽ thêm một tuyến gửi mọi thứ cho 10.0.0.0/8 qua VPN, điều này tất nhiên sẽ xung đột với thiết lập trên bộ định tuyến R1.
Đó là lý do tại sao muốn loại bỏ hoàn toàn tuyến 10.0.0.0/8 và đẩy tuyến cho các mạng con 10.88.0.0/16
và 10.0.200.0/16
qua VPN.
Hóa ra nó là có thể làm được.
Định tuyến dựa trên lớp được loại bỏ bằng cách bật vô hiệu hóa định tuyến dựa trên lớp
khi bạn tắt định tuyến mặc định
trong máy khách VPN.
Trong Strongswan, bạn phải chuyển tiếp yêu cầu dhcp từ máy khách đến máy chủ DHCP đã triển khai RFC3442.
Vì vậy, trong cấu hình của tôi ở trên, tôi phải thay thế tất cả các lần xuất hiện của nhóm = IkeVPN-ipv4
với pool = dhcp
và trong Strongswan.conf
Tôi phải thêm phần sau vào phần bổ trợ charon:
charon {
bổ sung {
...
dhcp {
máy chủ = ip.address.of.dhcp.server
}
}
}
Sau đó tôi có thể xóa toàn bộ hồ bơi
phần ở dưới cùng của cấu hình của tôi.
Có một số tùy chọn khác có sẵn mà có thể được đọc ở đây.
Hướng dẫn từ Strongswan từ gợi ý @ecdsa đã cung cấp một số thông tin, nhưng hướng dẫn đó dành riêng cho Windows, vì vậy nó sẽ không cho bạn biết cách xử lý các thiết bị Linux, MacOS hoặc Android. RFC3442 tuy nhiên sẽ xử lý trường hợp chung.
Tóm lại những gì RFC3442 nói là bạn phải gửi hai tùy chọn dhcp sau:
- tùy chọn 121 (liên quan đến Linux, Android và Windows Vista trở lên)
- tùy chọn 249 (liên quan đến Windows 7 trở lên và MacOS)
Về cơ bản, bạn phải mã hóa từng tuyến dưới dạng một mảng int bằng cú pháp sau:
x,y1,y2,y3,y4,z1,z2,z3,z4
Ở đâu:
- x: Mặt nạ mạng CIDR
- y1 - y4: là mạng bạn muốn định tuyến, nhưng có một điều khó hiểu là khi đuôi của dãy y1,y2,y3,y4 đều là số 0 thì chúng sẽ bị bỏ qua.
- z1 - z4: là nexthop gateway vào subnet.
Nếu có nhiều hơn một tuyến được gửi qua DHCP, thì bạn sẽ phải thêm một trình tự khác tương tự như trên ở đuôi của bộ định tuyến đầu tiên.
Theo tài liệu Strongswan, tôi có thể thay thế cổng tiêu chuẩn bằng 0.0.0.0
.
Điều đó có nghĩa là con đường của tôi đến 10.0.200.0/24
được mã hóa như 24,10,0,200,0,0,0,0
và 10.88.0.0/16
được mã hóa thành 16,10,88,0,0,0,0
.
Kết hợp cả hai mang lại cho tôi 24,10,0,200,0,0,0,0,16,10,88,0,0,0,0
, dẫn tôi đến cấu hình sau trong Máy chủ DHCP ISC
:
tùy chọn rfc-routes code 121 = mảng số nguyên 8;
tùy chọn mã ms-tuyến 249 = mảng số nguyên 8;
thời gian thuê mặc định 21600;
thời gian thuê tối đa 86000;
mạng con 10.0.201.0 mặt nạ mạng 255.255.255.0 {
phạm vi 10.0.201.1 10.0.201.254;
tùy chọn tên miền "example.com";
tùy chọn máy chủ tên miền ip.address.of.dns.server;
tùy chọn rfc-tuyến 24,10,0,200,0,0,0,0,16,10,88,0,0,0,0;
tùy chọn ms-tuyến 24,10,0,200,0,0,0,0,16,10,88,0,0,0,0;
}
Tôi hy vọng điều này sẽ giúp ích cho bất kỳ ai đang loay hoay với việc chia đường hầm.