จะเลือกเส้นทางการรับส่งข้อมูลเครือข่ายผ่าน VPN บน Mac OS X Leopard ได้อย่างไร


96

ฉันไม่ต้องการส่งทราฟฟิกเครือข่ายทั้งหมดของฉันไปที่ VPN เมื่อฉันเชื่อมต่อกับเครือข่าย บริษัท ของฉัน (ผ่าน VPN) จากที่บ้าน ตัวอย่างเช่นเมื่อฉันทำงานจากที่บ้านฉันต้องการสำรองไฟล์ทั้งหมดของฉันไปที่ Time Capsule ที่บ้านและยังสามารถเข้าถึงเครือข่ายภายในของ บริษัท ได้

ฉันใช้ไคลเอนต์ VPN ในตัวของ Leopard ฉันได้ลองยกเลิกการเลือก "ส่งการรับส่งข้อมูลทั้งหมดผ่านการเชื่อมต่อ VPN" หากฉันทำเช่นนั้นฉันจะสูญเสียการเข้าถึงเว็บไซต์ภายในของ บริษัท ของฉันไม่ว่าจะผ่านทาง curl หรือเว็บเบราว์เซอร์ (แม้ว่า IP ภายในยังเข้าถึงได้) มันจะเหมาะถ้าฉันสามารถเลือกชุดของ IP หรือโดเมนที่จะกำหนดเส้นทางผ่าน VPN และเก็บส่วนที่เหลือไว้ในเครือข่ายของฉันเอง สามารถทำได้ด้วยไคลเอนต์ VPN ในตัวของ Leopard หรือไม่ หากคุณมีคำแนะนำซอฟต์แวร์ใด ๆ ฉันอยากได้ยินพวกเขาเช่นกัน


2
ทางออกแรกจะทำงานบน PPP VPN เท่านั้น โซลูชันต่อไปนี้จะทำงานบน Cisco VPN (และประเภทอื่น ๆ ที่ไม่ใช้กับ Cisco) superuser.com/questions/91191/…
dr jimbob

คำตอบ:


84

สร้างไฟล์/ etc / ppp / ip-upด้วยเนื้อหาต่อไปนี้:

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

แทนที่<SUBNET>ด้วยซับเน็ตคุณต้องการกำหนดเส้นทางผ่าน VPN (เช่น 192.168.0.0/16)

ดำเนินการในฐานะ root:

chmod 0755 /etc/ppp/ip-up

ไฟล์นี้จะถูกเรียกใช้งานทุกครั้งที่คุณเชื่อมต่อกับ VPN

พารามิเตอร์ที่กำหนดให้กับสคริปต์:

  • $1: ส่วนต่อประสาน VPN (เช่นppp0)
  • $2: ไม่ทราบว่าเป็น0ในกรณีของฉัน
  • $3: IP ของเซิร์ฟเวอร์ VPN
  • $4: ที่อยู่เกตเวย์ VPN
  • $5: เกตเวย์ปกติ (ไม่ใช่ vpn) สำหรับการเชื่อมต่อ LAN ของคุณ

1
ส่วนปลายของ Aleksei ทำงานให้ฉัน ฉันแค่สงสัยว่าบรรทัดแรก (#! / bin / sh) กำลังทำอะไรอยู่หรือไม่ มันไม่ได้ออกความเห็น ฉันถามสิ่งนี้เพราะฉันอธิบายสิ่งนี้เพื่อใช้ที่ บริษัท ของเราและง่ายกว่า :-) ดีกว่าขอบคุณเอ็ดการ์
เอ็ดการ์ไวเออริงก้า

1
@EdgarWieringa: แปลงคำตอบของคุณเป็นความคิดเห็น หวังว่าจะดีกว่า! :)
studiohack

6
@Edgar - ไม่ บรรทัดแรกนั้นพิเศษ en.wikipedia.org/wiki/Shebang_(Unix)
James Moore

6
ในวันที่ 10.7 / Lion ฉันโชคดีขึ้นด้วย: / sbin / route เพิ่ม 172.16.0.0/16 -interface $ 1 อาร์กิวเมนต์ที่ฉันเห็นได้รับคือ: $ 1 = อินเตอร์เฟส VPN เช่น 'ppp0' $ 2 = '0' (ไม่ใช่ แน่ใจว่าค่านี้คืออะไร) $ 3 = IP VPN ของคุณ $ 4 = ที่อยู่ IP สาธารณะเกตเวย์ VPN $ 5 = เกตเวย์เริ่มต้นปกติสำหรับอีเธอร์เน็ต / wifi
Gabe Martin-Dempesy

4
จะเกิดอะไรขึ้นถ้าฉันมีการเชื่อมต่อ VPN ตั้งแต่สองตัวขึ้นไปที่กำหนดค่าไว้ ฉันจะแยกแยะระหว่างพวกเขาได้อย่างไร/etc/ppp/ip-upเพื่อให้ฉันสามารถเพิ่มเส้นทางตามได้อย่างไร ชื่อ VPN ที่เป็นมิตรจะถูกส่งผ่านเป็นอาร์กิวเมนต์ที่ 6 ( ipparam) หรือไม่
Kal

11

ฉันต้องการทำสิ่งที่คล้ายกัน เชื่อมต่อ VPN แล้วกำหนดเส้นทางเครือข่ายเพิ่มเติมผ่าน VPN นั้น ฉันลงเอยด้วย Applescript ต่อไปนี้:

-- 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

คุณต้องเปลี่ยน"Work"ชื่อการเชื่อมต่อ VPN 192.168.1.1ไปยังที่อยู่เกตเวย์ของคุณและ172.16.0.0/16ที่อยู่ของเครือข่ายที่คุณต้องการเส้นทาง เครือข่ายเพิ่มเติมสามารถเพิ่มได้โดยทำซ้ำบรรทัดสุดท้ายด้วยที่อยู่ที่แตกต่าง


1
(นอกจากนี้เล็กน้อยสำหรับผู้ที่สงสัยเกี่ยวกับที่อยู่ IP นี้เช่นเดียวกับผู้ถามที่พูดถึง 172.16.0.0/16 เป็นพื้นที่ที่อยู่ส่วนตัวเช่นเดียวกับ 10.xxx และ 192.168.xx ดังนั้นจึงเป็นส่วนหนึ่งของ VPN และไม่ใช่เว็บไซต์ภายนอกหรืออะไรก็ตาม)
Arjan

1
ดังนั้น192.168.1.1เราเตอร์ของคุณบน VPN หรือเราเตอร์บน LAN หรือไม่ และคุณไม่ต้องตั้งค่าเส้นทางเริ่มต้นกลับไปที่ LAN ของคุณหรือไม่
Jack M.

8

มีความเป็นคุณลักษณะที่ซ่อนในการตั้งค่าเครือข่ายบน MacOS: คุณสามารถจัดเรียงอินเตอร์เฟซ

เปิดการตั้งค่าระบบ -> เครือข่าย -> คลิกที่gearด้านล่างซ้าย ->Set service Order...

<code> ตั้งค่าบริการสั่งซื้อ ... </code> การสั่งซื้อ VPN

เป็นเรื่องสำคัญที่คุณจะต้องทำการจัดเรียงอินเทอร์เฟซเครือข่ายตามลำดับที่คุณต้องการใช้ หากคุณต้องการข้อมูลทั้งหมดที่ไม่ใช่ LAN ไปที่ VPN ให้ใส่อินเตอร์เฟส VPN ที่ด้านบน จัดเรียงเช่นนี้

  1. VPN
  2. อีเธอร์เน็ต
  3. สนามบิน

ไม่เหมือนนี่:

  1. สนามบิน
  2. อีเธอร์เน็ต
  3. VPN

วิธีนี้ไม่จำเป็นต้องตรวจสอบการตั้งค่าต่อไปนี้ในSession Options:

ส่งปริมาณการใช้งานทั้งหมดผ่านการเชื่อมต่อ VPN

✅ผ่านการทดสอบL2TP VPNการเชื่อมต่อ


ฉันไม่คิดว่าสิ่งนี้จะตอบคำถามเว้นแต่ว่า OP จะสำรองข้อมูล Time Machine ผ่านทางอีเธอร์เน็ตและเชื่อมต่อกับมุมมองเครือข่ายของ บริษัท สนามบิน (การเชื่อมต่อไร้สาย)
Josh Newman

1
ฉันใช้เคล็ดลับการเริ่มต้นระบบ PPP แต่ไม่ได้ผลจนกว่าฉันจะย้ายการเชื่อมต่อ VPN ของฉันด้านล่างการเชื่อมต่อไร้สาย นี่คือคำตอบที่ถูกต้อง
Arosboro

มันจริงๆเป็นคำตอบหลัก! ขอบคุณมากมันคงเป็นไปไม่ได้ที่จะคิดออก!
Andre Soares

1
ใช้งานได้กับ L2TP IPSec VPNs แต่ไม่สามารถใช้กับ Cisco IPSec VPN ได้ Cisco IPSec VPNs ไม่พร้อมใช้งานในกล่องโต้ตอบ "ตั้งค่าบริการสั่ง"
goofology

1

ฉันดูออนไลน์เพื่อดูว่าฉันสามารถหาอะไรได้หรือไม่และเท่าที่ฉันสามารถเข้าใจได้ว่าคุณต้องการใช้คอมพิวเตอร์ของคุณเหมือนปกติขณะเดียวกันก็สามารถเชื่อมต่อกับเว็บไซต์ภายในของ บริษัท ได้เช่นกัน จำเป็นต้องตั้งค่าตารางเส้นทางที่กำหนดเอง

เห็นได้ชัดว่าลิงค์นี้ใช้กับ 10.4 เท่านั้น แต่สิ่งที่บรรทัดคำสั่งอาจยังใช้งานได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.