Openswan kết nối với nhiều mạng con bên phải không hoạt động


14

Tôi đang cố gắng sử dụng Openswan (phiên bản 2.6.37) để kết nối VPN IPsec từ mạng cục bộ của tôi với một trang web từ xa. Mọi thứ hoạt động tốt khi tôi chỉ muốn kết nối với một mạng con duy nhất trên trang web từ xa. Tuy nhiên, trang web từ xa cũng có thêm một mạng con mà tôi muốn truy cập.

Đây là cấu hình của tôi:

conn myConn
        type=tunnel
        left=192.168.139.14
        leftsubnet=192.168.139.0/24
        leftxauthclient=yes
        right=X.X.X.X
        rightsubnet=172.16.1.0/24
        keyexchange=ike
        auth=esp
        authby=secret
        phase2alg=3des-sha1
        pfs=yes

Khi tôi thay thế rightsubnetbằng rightsubnets, như vậy:

rightsubnets={172.16.1.0/24 192.168.3.0/24}

... Sau đó, kết nối được tạo thành công nhưng chỉ có mạng con cuối cùng trong danh sách khả dụng. Bất kỳ nỗ lực để ping bất cứ điều gì trên 172.16.1.0mạng con đều thất bại. Nếu tôi trao đổi thứ tự của các mạng con xung quanh thì tôi có thể ping 172.16.1.Xnhưng không thể ping bất cứ thứ gì trên mạng con khác. Như thể Openswan chỉ sử dụng mạng con cuối cùng trong danh sách để tạo kết nối.

Tôi đang làm gì đó sai ở đây?

Một chút thông tin bổ sung mà tôi đã bỏ qua để đề cập (mặc dù tôi không chắc là nó có liên quan): Ứng dụng khách Openswan của tôi đứng sau bộ định tuyến sử dụng NAT và tôi có nat_traversal=yestrong ipsec.conftệp của mình .


Bạn có sử dụng Vlan không? Tôi đã có gần như chính xác cùng một vấn đề và vấn đề là lỗi Vlan

Bạn đã thử tạo hai hiệp hội bảo mật, một cho mỗi mạng con chưa?
mánh lới quảng cáo

@Tyke, không tôi không sử dụng Vlan. Máy khách OpenSwan của tôi đứng sau bộ định tuyến bằng NAT - Tôi đã cập nhật câu hỏi để phản ánh điều đó.
FixMaker

@gimmesudo: Tôi đã thử sao chép cấu hình của mình ở trên cho một kết nối mới ( connection myConn2), với mọi thứ giống hệt nhau ngoại trừ rightsubnet. Khi tôi sử dụng, ipsec auto --up myConntôi có thể ping 172.168.1.X. Khi tôi cố gắng đưa kết nối thứ hai ( ipsec auto --up myConn2), tôi có thể ping 192.168.3.X nhưng kết nối đầu tiên hoàn toàn chết.
FixMaker

Để kết nối như một ứng dụng khách trên nhiều bộ định tuyến IPSec (như Cisco), bạn sẽ sử dụng đơn giản hơn vpnc!
F. Hauri

Câu trả lời:


3

Có vẻ như dấu tách thông thường cho nhiều mạng con là dấu phẩy , nhưng ít nhất openswan-2.6.32 cũng hoạt động với khoảng trắng.

Thông tin thú vị nên được đăng nhập để /var/log/securecó thể chứa manh mối tại sao nó không hoạt động. Cũng gửi đầu ra của ip x s ship x p sh.


Nếu bạn đến đây cố gắng chuyển từ một máy chủ duy nhất sang nhiều máy chủ, hãy chú ý rằng khóa cho nhiều mạng con là ở số nhiều ( rightsubnet*s*) thay vì số ít.
mgarciaisaia

1

Tạo conncấu hình phần cho mỗi mạng con trên CẢ HAI điểm cuối của đường hầm. Chỉ một trong số họ (lần đầu tiên bắt đầu) sẽ bắt đầu một cuộc đàm phán SA, lần thứ hai (hoặc nhiều hơn) sẽ chỉ thực hiện một SPD mới của các mạng con tiếp theo.


Thật không may, tôi không thể làm điều này vì điểm cuối từ xa là bộ định tuyến FortiGate của bên thứ ba (không chạy OpenSwan). Tôi bắt đầu tự hỏi liệu vấn đề có thể liên quan đến bộ định tuyến không thể đối phó với nhiều đường hầm giữa các điểm cuối giống nhau.
FixMaker

1

Nếu bạn sử dụng rightsubnetsbạn phải sử dụng leftsubnetslà tốt, không leftsubnet. Ngay cả khi chỉ có một mạng con ở bên đó. Trang người đàn ông ipsec.conf không làm tốt công việc giải thích điều này, nhưng nó ở đó.

Tôi đã gặp vấn đề tương tự trong nhiều tháng và chỉ tìm thấy câu trả lời ở đây: /server/571352/openswan-multipl-subnets-routing- phát hành


1
Không phải vậy. leftsubnets = {singletone}, nên giống hệt với leftsubnet =. (Tôi đã viết mã)
mcr

Đây là giải pháp hiệu quả với tôi khi sử dụng libeswan 3.15. Bên trái của tôi có một mạng con duy nhất và bên phải có một số. Nếu tôi định cấu hình bên trái bằng leftsubnet = và bên phải sử dụng Rightsubnets = {} thì chỉ có bản quyền cuối cùng thực sự được kết nối. Khi tôi định cấu hình bên trái để sử dụng leftsubnets = {} với một mạng con, nó sẽ kết nối với tất cả.
Adam Plumb

1

Có vẻ như có một lỗi trong OpenSwan khi danh sách mạng con cần thêm dấu phẩy ở cuối để hoạt động chính xác. Thử:

rightsubnets={172.16.1.0/24,192.168.3.0/24,}

Lưu ý dấu phẩy thừa ở cuối.


Đó không phải là trường hợp, không có trường hợp thử nghiệm hoặc ví dụ nào có thêm dấu phẩy.
mcr

-3

Nó nên như thế này

rightsubnets={172.16.1.0/24,192.168.3.0/24}

Sử dụng dấu phẩy ( ,) và không phải khoảng trắng để phân tách các mục.


1
Đó dường như là những gì câu trả lời từ hai năm trước đang nói.
G-Man nói 'Phục hồi Monica'
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.