ฉันมีพร็อกซี SOCKS พร้อมพอร์ต
ฉันจะทำให้ MAC ใช้งานได้อย่างไร ฉันจะเปลี่ยนการตั้งค่าใดภายใต้การตั้งค่าเครือข่าย
ฉันมีพร็อกซี SOCKS พร้อมพอร์ต
ฉันจะทำให้ MAC ใช้งานได้อย่างไร ฉันจะเปลี่ยนการตั้งค่าใดภายใต้การตั้งค่าเครือข่าย
คำตอบ:
ทำไมการตั้งค่าระบบ -> เครือข่าย -> (เลือกเครือข่ายทางด้านซ้ายของหน้าต่างและเลือกขั้นสูงที่ด้านล่างขวา) -> พร็อกซี (แท็บด้านบน) ใช้งานได้สำหรับคุณ
หากคุณสามารถตั้งค่าเซิร์ฟเวอร์ SSH ของคุณเองได้ฟรีsshuttleสามารถสร้างช่องทางรับส่งข้อมูล TCP ทั้งหมดผ่านการเชื่อมต่อทำให้ไฟร์วอลล์ทั้งหมดทำงานให้คุณได้
หากต้องการส่งต่อการรับส่งข้อมูล TCP และ DNS ทั้งหมดไปยังเซิร์ฟเวอร์ SSH ระยะไกลคำสั่งนั้นง่ายพอ:
sshuttle --dns -vr ssh_server 0/0
นอกจาก TCP และ DNS แล้ว sshuttle จะไม่ส่งต่อคำขออื่น ๆ เช่น UDP, ICMP, ping เป็นต้น
สำหรับข้อมูลเพิ่มเติมและตัวอย่างให้ดูบทความการใช้ Sshuttle ในการทำงานประจำวัน
ในขณะที่การตั้งค่าการตั้งค่าพร็อกซีทั้งระบบเป็นการเริ่มต้นที่ดีคุณอาจต้องการใช้ iptables เพื่อให้แน่ใจว่าทราฟฟิกทั้งหมดจะผ่านพร็อกซี แอปพลิเคชั่นบางตัวไม่ใช้การตั้งค่าการกำหนดค่าทั้งระบบ (Firefox ในแอพพลิเคชั่น) ดังนั้นจึงจำเป็นที่คุณจะต้องปรับกฎของคุณเพื่อไม่ให้เชื่อมต่อโดยตรงและกำหนดเส้นทางการรับส่งข้อมูลผ่านพร็อกซี
แก้ไข: ในขณะที่ฉันใช้iptables
กฎเป็นการส่วนตัวเพื่อจัดการกับ "การรั่วไหล" ที่อาจเกิดขึ้นจาก VPN ของฉันฉันจริง ๆ แล้วผิดที่คิดว่า iptables สามารถทำงานกับพร็อกซีถุงเท้าโดยตรง คุณจะต้องมีอะไรบางอย่างเช่นtun2socksเพื่อสร้างอินเทอร์เฟซอุโมงค์เสมือน (เช่นการใช้งานของ vpn)
หลังจากนั้นคุณสามารถตั้งค่าสคริปต์ iptables คล้ายกับต่อไปนี้:
#!/bin/bash
if [[ $EUID -ne 0 ]]; then
echo "This script must be run as root" 1>&2
exit 1
fi
# name of primary network interface (before tunnel)
PRIMARY=eth0
# gateway ip address (before tunnel - adsl router ip address)
# automatically determine the ip from the default route
GATEWAY=`route -n | grep $PRIMARY | egrep "^0\.0\.0\.0" | tr -s " " | cut -d" " -f2`
# provided by tun2socks: interface name
TUNNEL=tun0
# If you'd like, putting the tun2socks command here is a good idea. It may or may not be necessary to do so, but either way is more convenient than running the two commands separately.
# iptables rules - important!
LOCAL_NET=192.168.0.0/16
#LOCAL_NET=$GATEWAY
# Flush all previous filter rules, you might not want to include this line if you already have other rules setup
iptables -t filter --flush
iptables -t filter -X MYVPN
iptables -t filter -N MYVPN
# Add local routes to routing table
route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0
route add -host 23.21.163.237 dev eth0 gw 192.168.1.1
# Add ssh routes to routing table
ip route add table 128 to 192.168.1.0/24 dev eth0
ip route add table 128 default via 192.168.1.1
# Exceptions for local traffic & vpn server
iptables -t filter -A MYVPN -o lo -j RETURN
iptables -t filter -A MYVPN -o ${TUNNEL} -j RETURN
iptables -t filter -A MYVPN --dst 127.0.0.1 -j RETURN
iptables -t filter -A MYVPN --dst $LOCAL_NET -j RETURN
iptables -t filter -A MYVPN --dst ${SERVER} -j RETURN
iptables -t filter -A MYVPN --dst ${VPN_SERVER} -j RETURN
# Add extra local nets here as necessary
iptables -t filter -A MYVPN -j DROP
# MYVPN traffic leaving this host:
iptables -t filter -A OUTPUT -p tcp --syn -j MYVPN
iptables -t filter -A OUTPUT -p icmp -j MYVPN
iptables -t filter -A OUTPUT -p udp -j MYVPN
โดยปกติคุณจะต้องทำให้สคริปต์นี้สะท้อนถึงเครือข่ายเฉพาะของคุณ (เช่นหากคุณใช้บางอย่างเช่นซับเน็ต 192.168.0.0/24 ให้ปรับตามนั้น) นอกจากนี้ยังขึ้นอยู่กับสคริปต์ที่ฉันใช้กับ VPN อย่างแน่นหนาดังนั้นทุกคนกล่าวถึง MYVPN หรือ VPN - ในขณะที่คุณไม่ได้ใช้ VPN tun2socks
ทำงานอย่างมีประสิทธิภาพราวกับว่าคุณเป็นดังนั้นทุกอย่างควรทำงานเหมือนกัน
และขอขอบคุณเป็นพิเศษกับคำตอบนี้ที่ Unix.SE สำหรับการชี้แนะทิศทางที่ถูกต้องเพื่อตอบคำถามนี้
แก้ไขอีกครั้ง: ดังนั้นดูเหมือนว่า OS X จริง ๆ แล้วจะทำเช่นนี้กับipfw
iptables (ขออภัยฉันส่วนใหญ่เป็นคนลินุกซ์และคิดว่า OS X มี iptables ให้ใช้งาน) มีการเทียบดังกล่าวว่าสคริปต์ที่สามารถนำมาปรับบางส่วนที่จะชี้ให้เห็นเป็นที่นี่ man ipfw
ควรกำหนดให้คุณตรงกับไวยากรณ์ ฉันจะปล่อยให้iptables
สคริปต์ต้นฉบับเป็นเทมเพลตเพื่อให้คุณสามารถเห็นสิ่งที่เกิดขึ้นในเชิงแนวคิด WaterRoofดูเหมือนจะช่วยให้การใช้ipfw
งานง่ายขึ้น ส่วนหน้าอื่น ๆ อาจจะใช้ได้เช่นกัน
tun2socks
ไม่ต้องการ SSH และเซิร์ฟเวอร์ ตัวอย่างบนเว็บไซต์ของพวกเขาคือการใช้ SSH เพื่อสร้าง SOCKS proxy ตั้งแต่แรก หากคุณมีพร็อกซี SOCKS อยู่แล้วมันไม่จำเป็นเลย และใช่iptables
เป็นวิธีที่ผิดในส่วนของฉัน OS X ซึ่งใช้ BSD นั้นใช้ipfw
แทนiptables
Linux kernel สำหรับเรื่องที่ซับซ้อนคุณอาจจะสามารถหาส่วนหน้าที่จะทำให้คุณใช้งานได้ง่ายขึ้น แต่ฉันไม่เคยมีประสบการณ์ในเรื่องนี้ มันมีความซับซ้อนในระดับต่ำ แต่ก็มีหลายอย่างที่เกี่ยวข้องกับสาเหตุที่ทำให้งานนี้มีความสามารถ
ipfw
ง่ายขึ้น
มีโซลูชั่นจำนวนมาก ไม่มีใครที่ง่ายพอ ๆ กับการเปลี่ยนการตั้งค่าบางอย่าง: เหตุผลก็คือการเอาชนะเป้าหมายทั้งหมดของการทำพร็อกซี่ซึ่งเป็นเส้นทางของแอพพลิเคชั่นที่เฉพาะเจาะจงผ่านเส้นทางอื่น (สำหรับวัตถุประสงค์ในการซ่อนตัว คุณเข้าถึงเส้นทางท้องถิ่น (เร็วกว่าที่คาดคะเน)
บางคนต้องทิ้งเพราะความต้องการของคุณ แต่ให้ฉันพูดถึงพวกเขาเพื่อความสมบูรณ์: VPN, อุโมงค์ SSH, การใช้ pfctl (ตัวกรองแพ็คเก็ตและอินเตอร์เฟซการควบคุม NAT) นอกจากนี้ Tor ยังไม่ได้ออกแบบมาสำหรับการใช้งานที่คุณมีในใจช่วยให้คุณกำหนดเส้นทางการรับส่งข้อมูลทั้งหมดผ่านพร็อกซีของพวกเขา
แอปพลิเคชันทั้งหมดเหล่านี้ฟรีและต้องการความเฉลียวฉลาดที่สุด ในทางกลับกันมีแอปพลิเคชันแบบจ่ายค่าจ้างซึ่งงานส่วนใหญ่ทำโดยคนอื่น แต่มีราคา
ช่วยให้คุณสามารถเปลี่ยนเส้นทางการเชื่อมต่อเครือข่ายของคอมพิวเตอร์ผ่านพร็อกซีเซิร์ฟเวอร์ คุณสามารถบอก ProxyCap ว่าแอปพลิเคชันใดที่จะเชื่อมต่ออินเทอร์เน็ตผ่านพร็อกซีและภายใต้สถานการณ์ใด สิ่งนี้ทำผ่านส่วนติดต่อผู้ใช้ที่เป็นมิตรโดยไม่จำเป็นต้องกำหนดค่าไคลเอนต์อินเทอร์เน็ตใด ๆ ของคุณ
หรือมีProxifier สำหรับ Mac (ระวัง: รองรับเฉพาะ 10.8 เท่านั้น) ที่
อนุญาตให้แอปพลิเคชันเครือข่ายที่ไม่สนับสนุนการทำงานผ่านพร็อกซีเซิร์ฟเวอร์เพื่อดำเนินการผ่านพร็อกซีและเครือข่าย SOCKS หรือ HTTPS
ไปที่การตั้งค่า -> เครือข่ายดูว่ามีการล็อคหรือไม่คลิกที่มันและให้รหัสผ่านบัญชีผู้ดูแลระบบของคุณ จากนั้น Advanced-> Proxies-> Check on Socks Proxy ให้การตั้งค่าพร็อกซีของคุณ