Tuyến OpenBSD qua các cổng khác nhau có cùng IP nhưng trên các giao diện khác nhau


9

Tôi có nhiều kết nối VPN sử dụng cùng một IP gateway (Tôi không có khả năng thay đổi điều này vì nó nằm ngoài tầm kiểm soát của tôi). Tất cả các VPN này đều cung cấp quyền truy cập vào các mạng khác nhau và các mạng có ít nhất một hoặc hai bước ngược dòng, do đó, IP cổng được yêu cầu trong mọi trường hợp. Với Linux, để định tuyến tới các mạng, tôi chỉ cần làm:

ip route add $destination_1 via $gateway_ip dev $interface_1
ip route add $destination_2 via $gateway_ip dev $interface_2
ip route add $destination_3 via $gateway_ip dev $interface_3

Vân vân.

Linux sau đó sẽ đặt lưu lượng truy cập cho từng mạng đích vào các giao diện chính xác, hướng đến đúng cổng, do đó, IP cổng không giống nhau cho mỗi giao diện.

Câu hỏi của tôi là, làm thế nào tôi có thể đạt được điều này trong OpenBSD? Tôi đã thử và thất bại. Phát hiện của tôi là cho một điểm đến cụ thể, tôi có thể:

  • chỉ định một giao diện (nếu đích đến có thể truy cập trực tiếp trên liên kết đó - không có trong trường hợp của tôi)
  • chỉ định IP cổng vì đích không trực tiếp trên liên kết

Nhưng tôi không thể tìm ra cách chỉ định cả hai.


Bạn có chắc chắn một cổng được yêu cầu? Nếu liên kết là Ethernet và mục tiêu cách xa hơn một bước thì cần có một cổng. Nhưng VPN thường hoạt động như các giao diện điểm-điểm không cần cổng.
kasperd

Có, điều này chắc chắn là bắt buộc vì mặc dù các giao diện là điểm-điểm, các mạng đích đều cách nhau hơn một bước và có chuyển tiếp ip và NAT tham gia
bao7uo

Liên kết điểm-điểm không quan tâm đến cổng.
kasperd

ok, nhưng làm thế nào tôi có thể làm cho nó hoạt động sau đó?
bao7uo

Làm thế nào về việc sử dụng -Ttùy chọn để routevà xác định một bảng định tuyến cho mỗi điểm đến? Tôi nghĩ rằng nó cung cấp "cách nhiệt" tốt hơn cho mỗi quy tắc giao diện.
gmelis

Câu trả lời:


1

Sử dụng công cụ sửa đổi -ifp để định tuyến . Từ trang người đàn ông :

In a change or add command where the destination and gateway are not
sufficient to specify the route, the -ifp or -ifa modifiers may be 
used to determine the interface name or interface address.

Vì vậy, một cái gì đó như thế này hoạt động:

# for  arg in tun0 tun1 tun2; do ifconfig $arg  192.168.11.1/24; done
# route add 10/8 -iface 192.168.11.1 -ifp tun0
add net 10/8: gateway 192.168.11.1
# route add 172.16/12 -iface 192.168.11.1 -ifp tun1
add net 172.16/12: gateway 192.168.11.1
# route add 192.168.254/24 -iface 192.168.11.1 -ifp tun2
add net 192.168.254/24: gateway 192.168.11.1
# route show -inet
Routing tables

Internet:
Destination        Gateway            Flags   Refs      Use   Mtu  Prio 
Iface
10/8               192.168.11.1       GS         0        0     -     8 tun0
localhost          localhost          UHl        0       22 32768     1 lo0
172.16/12          192.168.11.1       S          0        0     -     8 tun1
192.168.11.1       192.168.11.1       UHhl       1        4     -     1 tun0
[...my real routes omitted...]
192.168.254/24     192.168.11.1       S          0        0     -     8 tun2

Nếu các tuyến đích của bạn trùng nhau thì bạn có thể sử dụng nhãn pf và tuyến đường để khớp hoặc định tuyến tên miền .


Cám ơn vì cái này. Tôi đã thử nó và không thể làm cho nó hoạt động. Tôi không nghĩ là -ifaceáp dụng vì địa chỉ cổng dành cho bộ định tuyến ngược dòng (bước nhảy tiếp theo), không phải là IP của giao diện trên hộp openbsd. Khi tôi loại bỏ -iface nó đã hoạt động, nhưng chỉ cho giao diện VPN đầu tiên. Vì vậy, tôi có thể làm -ifp tap0và nó hoạt động, nhưng nếu tôi làm điều -ifp tap1đó thất bại no route to hostkhi tôi cố gắng thêm tuyến đường.
bao7uo

Mặc dù nó không giải quyết được vấn đề, tôi đã trao cho bạn tiền thưởng vì tôi biết ơn vì bạn đã cố gắng giúp đỡ.
bao7uo

Tôi thực sự bối rối với những gì linux đang làm dưới cái mũ đó ... BSD đang làm điều "đúng" bằng cách phàn nàn về việc gw không phải là người địa phương. Bạn đã thử các -link -llinfocờ cho lệnh tuyến đường? Ngoài ra, tôi nghĩ là -ifacekhông áp dụng (bạn gặp lỗi mà không có bảng định tuyến / domian, như bạn đã lưu ý, vì tuyến đường mạng bị xung đột và không thể thêm lại được nữa). OpenVPN / nhấn? Tự hỏi những gì cung cấp kết thúc "khác", nếu đó là một ptp giả.
Quadruplebucky
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.