it-swarm-vi.tech

Làm cách nào để chọn lọc lưu lượng truy cập mạng thông qua VPN trên Mac OS X Leopard?

Tôi không muốn gửi tất cả lưu lượng truy cập mạng của mình xuống VPN khi tôi kết nối với mạng của công ty tôi (thông qua VPN) từ nhà. Ví dụ: khi tôi làm việc tại nhà, tôi muốn có thể sao lưu tất cả các tệp của mình vào Time Capsule ở nhà và vẫn có thể truy cập mạng nội bộ của công ty.

Tôi đang sử dụng máy khách VPN tích hợp của Leopard. Tôi đã thử bỏ chọn "Gửi tất cả lưu lượng truy cập qua kết nối VPN." Nếu tôi làm điều đó, tôi sẽ mất quyền truy cập vào các trang web nội bộ của công ty tôi thông qua curl hoặc trình duyệt web (mặc dù IP nội bộ vẫn có thể truy cập được). Thật lý tưởng nếu tôi có thể chọn lọc một cách chọn lọc một bộ IP hoặc tên miền sẽ được định tuyến qua VPN và giữ phần còn lại trên mạng của riêng tôi. Điều này có thể đạt được với máy khách VPN tích hợp của Leopard không? Nếu bạn có bất kỳ đề xuất phần mềm nào, tôi cũng muốn nghe chúng.

93
newtonapple

Tạo tệp / etc/ppp/ip-up với nội dung sau:

#!/bin/sh
/sbin/route add <SUBNET> -interface $1 

thay thế <SUBNET> bằng mạng con, bạn muốn định tuyến qua VPN (ví dụ: 192.168.0.0/16)

thực thi như root:

chmod 0755 /etc/ppp/ip-up

Tập tin này sẽ được thực thi mỗi khi bạn kết nối với VPN.

Các tham số được cung cấp cho tập lệnh:

  • $1: Giao diện VPN (ví dụ: ppp0)
  • $2: Không biết, là 0 trong trường hợp của tôi
  • $3: IP của máy chủ VPN
  • $4: Địa chỉ cổng VPN
  • $5: Cổng thông thường (không phải vpn) cho các kết nối lan của bạn
82
Aleksei Balandin

Tôi muốn làm một điều tương tự. Kết nối VPN và sau đó định tuyến một mạng bổ sung thông qua VPN đó. Tôi đã kết thúc với bit Applescript sau đây:

-- Connect Work VPN

tell application "System Events"
    tell network preferences
        tell current location
            tell service "Work"
                connect
                tell current configuration
                    repeat until get connected = true
                        delay 1
                    end repeat
                end tell
            end tell
        end tell
    end tell
end tell

set gateway to "192.168.1.1"

do Shell script "route add 172.16.0.0/16 " & gateway with administrator privileges

Bạn cần thay đổi "Work" thành tên của kết nối VPN, 192.168.1.1 thành địa chỉ cổng của bạn và 172.16.0.0/16 thành địa chỉ của mạng mà bạn muốn định tuyến. Các mạng bổ sung có thể được thêm bằng cách lặp lại dòng cuối cùng với các địa chỉ khác nhau.

11
Martin Hilton

Có một tính năng ẩn trong Tùy chọn mạng trên MacOS: bạn có thể sắp xếp giao diện .

Mở Tùy chọn hệ thống -> Mạng -> Nhấp vào gear dưới cùng bên trái -> Set service Order...

<code>Set service Order...</code>VPN Ordering

Điều quan trọng là bạn phải sắp xếp các giao diện mạng theo thứ tự bạn muốn sử dụng chúng. Nếu bạn muốn TẤT CẢ dữ liệu không phải mạng LAN đi đến VPN, hãy đặt giao diện VPN ở trên cùng. Sắp xếp như thế này

  1. VPN
  2. Ethernet
  3. Sân bay

Không như thế này:

  1. Sân bay
  2. Ethernet
  3. VPN

Bằng cách này, không cần kiểm tra cài đặt sau trong Session Options:

Gửi tất cả lưu lượng truy cập qua kết nối VPN

Đã kiểm tra trên kết nối L2TP VPN

8
user31513

Tôi đã có một cái nhìn trực tuyến để xem liệu tôi có thể tìm thấy gì không, và theo như tôi có thể hiểu thì dường như bạn muốn sử dụng máy tính của mình như bình thường, đồng thời có thể kết nối với các trang web của công ty nội bộ, vì vậy, bạn có thể cần thiết lập một bảng định tuyến tùy chỉnh.

Liên kết này dường như chỉ áp dụng cho 10,4, nhưng công cụ dòng lệnh vẫn có thể hoạt động.

1
Alexis Hirst