การตั้งค่า“ ส่งการรับส่งข้อมูลทั้งหมดผ่านการเชื่อมต่อ VPN” ใน OSX 10.9 Mavericks เป็นอย่างไร


17

ฉันพยายามเปลี่ยนการตั้งค่าของการเชื่อมต่อ Cisco IPSec VPN ซึ่งตั้งค่าผ่านไคลเอนต์ VPN ใน OSX ที่สร้างขึ้นในการตั้งค่าระบบ ฟังก์ชั่น VPN ตามที่คาดไว้ช่วยให้ฉันเข้าถึงเซิร์ฟเวอร์ที่ได้รับการป้องกันที่ บริษัท ของฉัน ฉันต้องการเข้าถึงเว็บไซต์อื่น ๆ บนอินเทอร์เน็ตผ่าน VPN นี้ (youtube, wikipedia, any) เท่าที่ฉันสามารถบอกได้การท่องเว็บปกติของฉันไม่ได้ถูกส่งผ่าน VPN

นี้หน้าการสนับสนุนแอปเปิ้ลกล่าวว่ามีการตั้งค่าที่เรียกว่า "ส่งการจราจรทั้งหมดผ่านการเชื่อมต่อ VPN" ซึ่งสามารถเปิดใช้งานผ่านApple menu > System Preferences > Network > Advanced > Optionsการเจรจา อย่างไรก็ตามเมื่อฉันเลือก VPN จากรายการอินเตอร์เฟสเครือข่ายและคลิกปุ่ม "ขั้นสูง ... " ไม่มีแท็บหรือปุ่ม "ตัวเลือก" ฉันเห็นกล่องโต้ตอบที่มีสองแท็บ "DNS" และ "Proxies" ไม่มีปุ่มตัวเลือกหรือ "ส่งการรับส่งข้อมูลทั้งหมดผ่านการเชื่อมต่อ VPN" ได้ทุกที่

แล้วอะไรล่ะ สิ่งนี้เกี่ยวข้องกับ VPN ประเภทใดที่ฉันเชื่อมต่ออยู่ (Cisco IPSec) มันเกี่ยวข้องกับการตั้งค่า VPN หรือไม่? ไม่ว่าฉันจะกำหนดเส้นทางการเรียกดูตามปกติผ่าน VPN ได้อย่างไร


นี่คือการเชื่อมต่อ VPN ประเภทใด ในบางกรณีการรับส่งข้อมูลทั้งหมดจะถูกส่งผ่านการเชื่อมต่อ VPN ต่อไป (เมื่อเปิดใช้งาน) ดังนั้นตัวเลือกที่ล้าสมัย (และไม่สามารถใช้งานได้) ตัวอย่าง: Cisco VPN ... ไม่มีตัวเลือก VPN (PPTP) ... ตัวเลือก availble
sdmeyers

@sdmeyers ไม่แน่ใจว่าจะเชื่อมต่อแบบไหน ทั้งหมดที่ฉันเห็นคือ "Cicsco IPSec" ฉันจะตรวจสอบประเภทการตั้งค่าได้ที่ไหน จากความเข้าใจ (จำกัด ) เกี่ยวกับ VPN ฉันเชื่อว่าการรับส่งข้อมูลของฉันไม่ได้ถูกส่งผ่าน เซิร์ฟเวอร์ VPN ตั้งอยู่ในสหรัฐอเมริกาและเมื่อฉันค้นหาที่อยู่ IP ปัจจุบันของฉันฉันเห็นว่าโฮสต์อยู่ในประเทศที่ไม่ใช่ของสหรัฐอเมริกาซึ่งฉันอยู่ในขณะนี้
Pwnosaurus

1
Google "What is IP ของฉัน" เพื่อดูที่อยู่ IP สาธารณะของคุณก่อนและหลังการเชื่อมต่อกับ VPN ของคุณมันควรจะแตกต่างกันที่นี่ VPN จะไม่เปลี่ยนที่อยู่ IP ท้องถิ่นของคุณ
sdmeyers

ดูเหมือนว่าไคลเอนต์ Cisco IPSec ของ Mac จะทำงานได้อย่างที่ต้องการ - เซิร์ฟเวอร์ VPN ให้รายการเส้นทางที่มีการป้องกันและสิ่งเหล่านี้จะถูกผนวกเข้ากับตารางเส้นทางของระบบของ Mac มีปัญหาตรงข้ามที่นี่แม้ว่า ... ฉันมี 10.xxxx และ 172.xxx เส้นทางในของฉันnetstat -rnแต่ฉันได้รับอนุญาตเท่านั้นที่จะเข้าถึง 10 - ไม่ใช่ 172.
tishma

คำตอบ:


11

ฉันเดาว่าการเชื่อมต่อ VPN ทั้งหมดของไคลเอนต์ VPN ใน Mac นั้นไม่มีตัวเลือก

PPTP และ L2TP เสนอตัวเลือก: เปิดการตั้งค่าเครือข่ายของคุณ:

ป้อนคำอธิบายรูปภาพที่นี่

เลือกการเชื่อมต่อ VPN ของคุณและคลิกที่ปุ่มขั้นสูง

หน้าต่างใหม่จะปรากฏขึ้นพร้อมกล่องกาเครื่องหมายสามอันภายใต้หัวข้อ "ตัวเลือกเซสชัน" ช่องสุดท้ายของช่องเหล่านี้คือช่องที่คุณต้องการ: "เปลี่ยนเส้นทางการรับส่งข้อมูลทั้งหมดผ่าน VPN"

อย่างไรก็ตามอย่างที่คุณพูด ปุ่มขั้นสูงไม่ปรากฏขึ้นพร้อมกับ Cisco IPSec

ฉันพบกระทู้นี้ ( /superuser/91191/how-to-force-split-tunnel-routing-on-mac-to-a-cisco-vpn ) ซึ่งอาจเป็นคำตอบสำหรับปัญหาของคุณ (หากคุณใช้เพื่อกำหนดเส้นทางช่วง IP ทั้งหมด):

มีใครรู้วิธีแฮ็กตารางเส้นทาง (บนเครื่อง mac) เพื่อเอาชนะการบังคับใช้เส้นทาง VPN สำหรับทุกสิ่งผ่าน cisco VPN หรือไม่ สิ่งที่ฉันต้องการจะทำมีเพียง 10.121. * และ 10.122. * ที่อยู่ผ่าน VPN และทุกอย่างตรงไปที่อินเทอร์เน็ต

งานต่อไปนี้สำหรับฉัน รันสิ่งเหล่านี้หลังจากเชื่อมต่อกับ cisco vpn (ฉันใช้ไคลเอ็นต์ซิสโก้ในตัวของ OS X ไม่ใช่ไคลเอ็นต์ตราสินค้าของ Cisco)

sudo route -nv add -net 10 -interface utun0
sudo route change default 192.168.0.1

แทนที่ "10" ในคำสั่งแรกด้วยเครือข่ายที่อยู่อีกด้านหนึ่งของอุโมงค์

แทนที่ "192.168.0.1" ด้วยเกตเวย์ของเครือข่ายท้องถิ่นของคุณ

ฉันใส่มันลงในสคริปต์ทุบตีเช่นนี้

$ cat vpn.sh 
#!/bin/bash

if [[ $EUID -ne 0 ]]; then
    echo "Run this as root"
    exit 1
fi

route -nv add -net 10 -interface utun0
route change default 192.168.0.1

ฉันยังพบคำอธิบายเกี่ยวกับวิธีการเรียกใช้โดยอัตโนมัติเมื่อคุณเชื่อมต่อ VPN แต่มันล่าช้าในวันศุกร์และฉันไม่อยากลอง :)

https://gist.github.com/675916

แก้ไข:

ฉันออกจากงานที่ฉันใช้ Cisco VPN มาตั้งแต่ตอนนี้มาจากหน่วยความจำ

"10" ในคำสั่งแรกคือเครือข่ายที่คุณต้องการกำหนดเส้นทางผ่าน VPN "10" ย่อมาจาก "10.0.0.0/8" ในกรณีของ Tuan Anh Tran ดูเหมือนว่าเครือข่ายคือ "192.168.5.0/24"

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

วิธีที่ง่ายที่สุดในการค้นหาเกตเวย์คือการเรียกใช้ netstat -rn ก่อนที่จะเข้าสู่ VPN และดูที่อยู่ IP ทางด้านขวาของปลายทาง "เริ่มต้น" ตัวอย่างเช่นนี่คือสิ่งที่ดูเหมือนในกล่องของฉันตอนนี้:

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            10.0.1.1           UGSc           29        0     en1
10.0.1/24          link#5             UCS             3        0     en1
10.0.1.1           0:1e:52:xx:xx:xx   UHLWIi         55   520896     en1    481
10.0.1.51          7c:c5:37:xx:xx:xx   UHLWIi          0     1083     en1    350
10.0.1.52          127.0.0.1          UHS             0        0     lo0

เกตเวย์ของฉันคือ 10.0.1.1 - อยู่ทางขวาของปลายทาง "ค่าเริ่มต้น"


คำตอบนี้ให้สิ่งที่ตรงกันข้ามกับสิ่งที่ถูกถาม
sdmeyers

-1

โดยปกติแล้วเซิร์ฟเวอร์ VPN ของ Cisco จะส่งรายการเส้นทางไปยังเครือข่ายส่วนตัวดังนั้นคุณจึงไม่จำเป็นต้องส่งทราฟฟิกทั้งหมดผ่านเซิร์ฟเวอร์ VPN เพื่อเอาชนะปัญหานี้คุณสามารถลองคำแนะนำที่นี่เพื่อโยกย้ายจาก CiscoVPN ไปเป็น OS X IPSec VPN ดั้งเดิมโดยการถอดรหัสรหัสผ่านที่บันทึกไว้ในไฟล์ CiscoVPN PCF หรือตั้งค่าการกำหนดเส้นทางด้วยตนเอง

หวังว่ามันจะช่วยได้

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