VPN ที่ดีที่สุดสำหรับ FreeBSD: การตั้งค่า OpenVPN และ WireGuard

ค้นหา VPN ที่ดีที่สุดสำหรับ FreeBSD ด้วยการรองรับ OpenVPN และ WireGuard แบบเนทีฟ รับคำแนะนำในการตั้งค่า ความเข้ากันได้ของ pf และไฟล์การกำหนดค่าเฉพาะ FreeBSD

··10 นาทีในการอ่าน

บรรทัดล่าง: FreeBSD ไม่มีแอป VPN ที่มี GUI แบบเนทีฟจากผู้ให้บริการส่วนใหญ่ อย่างไรก็ตาม OpenVPN และ WireGuard ทำงานได้ดีบนแพลตฟอร์มนี้ คุณต้องใช้ผู้ให้บริการที่มีไฟล์การกำหนดค่าเฉพาะ FreeBSD คำแนะนำในการตั้งค่า และความเข้ากันได้กับเครื่องมือเช่น pf และ FreeBSD jails

เหตุใดผู้ใช้ FreeBSD จึงต้องการโซลูชัน VPN ที่เฉพาะเจาะจง

FreeBSD ไม่ใช่ Linux แม้ว่าทั้งคู่เป็นระบบที่คล้ายกับ Unix แต่ FreeBSD ใช้เคอร์เนลที่แตกต่างกัน stack เครือข่ายที่แตกต่างกัน และการจัดการแพคเกจที่แตกต่างกัน ความแตกต่างนี้มีความสำคัญเมื่อเลือก VPN

FreeBSD ให้พลังแก่ประมาณ 5% ของตลาดเซิร์ฟเวอร์โลก มันครอบงำแพลตฟอร์มอุปกรณ์เครือข่ายเช่น pfSense, OPNsense และ TrueNAS Netflix ใช้ Open Connect CDN ของมันบน FreeBSD WhatsApp สร้างโครงสร้างการส่งข้อความของตนบน FreeBSD นี่ไม่ใช่การปรับใช้สำหรับงานอดิเรก

ผู้ใช้ FreeBSD ตกอยู่ในสามหมวดหมู่หลัก:

  • ผู้ดูแลเซิร์ฟเวอร์ ที่ใช้ FreeBSD jails ซึ่งต้องการอุโมงค์เข้ารหัสระหว่างสภาพแวดล้อมที่แยกออกจากกัน
  • วิศวกรเครือข่าย ที่สร้างอุปกรณ์ไฟร์วอลล์ด้วย pf (Packet Filter) ซึ่งต้องมีการรวม VPN ในระดับ OS
  • นักพัฒนาที่มีจิตสำนึกด้านความเป็นส่วนตัว ที่เลือก FreeBSD สำหรับแบบจำลองความปลอดภัยของมัน (Capsicum sandboxing, GELI encryption, MAC framework)

แต่ละกลุ่มต้องใช้ผู้ให้บริการ VPN ที่เข้าใจสถาปัตยกรรมเฉพาะของ FreeBSD คำแนะนำทั่วไป “ทำงานบน Linux” ไม่ค่อยโอนไปมายังได้ดีเท่าไหร่ FreeBSD ใช้ rc.conf สำหรับการจัดการบริการ /usr/local/etc/ สำหรับเส้นทางการกำหนดค่า และ pkg หรือ ports สำหรับการติดตั้งแพคเกจ ผู้ให้บริการ VPN ที่ไม่สนใจความแตกต่างเหล่านี้จะสร้างชั่วโมงในการแก้ไขปัญหา

วิธีการทำงานของโปรโตคอล VPN บน FreeBSD

FreeBSD รองรับโปรโตคอล VPN หลักสองตัว: OpenVPN และ WireGuard แต่ละตัวรวมเข้ากับระบบปฏิบัติการต่างกัน

OpenVPN บน FreeBSD

OpenVPN ทำงานบน FreeBSD มากกว่า 15 ปี ติดตั้งโดยใช้คำสั่งเดียว:

pkg install openvpn

OpenVPN ใช้ไดรเวอร์อุปกรณ์ tun ซึ่ง FreeBSD มีอยู่ในระบบพื้นฐาน ไฟล์การกำหนดค่าจะอยู่ใน /usr/local/etc/openvpn/ คุณจัดการบริการผ่าน rc.conf:

# เพิ่มไปที่ /etc/rc.conf
openvpn_enable="YES"
openvpn_configfile="/usr/local/etc/openvpn/client.conf"

OpenVPN ให้การเข้ารหัส AES-256-GCM ที่เชื่อถือได้ ปริมาณงานทั่วไปบนระบบ FreeBSD 14.x ที่มี CPU สมัยใหม่จะถึง 80-120 Mbps การแลกเปลี่ยน: OpenVPN ทำงานในพื้นที่ผู้ใช้ เพิ่มค่าใช้จ่าย CPU เมื่อเทียบกับโปรโตคอลระดับเคอร์เนล

WireGuard บน FreeBSD

WireGuard มาถึงเคอร์เนล FreeBSD ด้วยเวอร์ชัน 13.1 เวอร์ชันก่อนหน้านี้ต้องใช้แพคเกจ wireguard-kmod:

pkg install wireguard-kmod wireguard-tools

บน FreeBSD 14.0+ WireGuard มาพร้อมกับโมดูลเคอร์เนลเนทีฟ โหลดโดยใช้:

kldload if_wg

WireGuard ให้ 150-300 Mbps บนฮาร์ดแวร์เดียวกันโดยที่ OpenVPN จะถึง 80-120 Mbps โค้ดพื้นฐานประมาณ 4,000 บรรทัดเมื่อเทียบกับ 100,000+ ของ OpenVPN ทำให้การตรวจสอบเร็วขึ้นและพื้นผิวการโจมตีเล็กลง

เปรียบเทียบโปรโตคอลบน FreeBSD:

คุณสมบัติOpenVPNWireGuard
การรองรับเคอร์เนล FreeBSDUserspace เท่านั้นNative (13.1+)
คำสั่งการติดตั้งpkg install openvpnpkg install wireguard-tools
ปริมาณงานทั่วไป80-120 Mbps150-300 Mbps
ความซับซ้อนของการกำหนดค่าปานกลาง (10+ ตัวเลือก)เรียบง่าย (5-6 ตัวเลือก)
การรวม Firewall (pf)ต้องมีกฎด้วยตนเองการสร้างอินเทอร์เฟซอัตโนมัติ
ความเข้ากันได้ของ Jailการรองรับเต็มรูปแบบการรองรับเต็มรูปแบบ (14.0+)
การใช้ CPU (ไม่ทำงาน)~2-3%~0.5-1%

VPN 5 อันดับแรกที่ทำงานบน FreeBSD

ไม่ใช่ผู้ให้บริการ VPN ทุกรายที่รองรับ FreeBSD ส่วนใหญ่สร้างแอปสำหรับ Windows, macOS และการแจกจ่าย Linux หลักเท่านั้น ผู้ให้บริการห้ารายด้านล่างมีความเข้ากันได้ FreeBSD ที่มีเอกสารและไฟล์การกำหนดค่าที่ได้รับการทดสอบ

เมทริกซ์เปรียบเทียบ VPN

ผู้ให้บริการโปรโตคอลบน FreeBSDเอกสาร FreeBSD แบบเนทีฟจำนวนเซิร์ฟเวอร์ราคารายเดือนราคารายปีเวลาตั้งค่าGUI ที่พร้อมใช้งาน
MullvadWireGuard, OpenVPNใช่700+ (43 ประเทศ)$5.50$5.50/เดือน (ไม่มีส่วนลด)~10 นาทีไม่มี (CLI เท่านั้น)
OVPNWireGuard, OpenVPNใช่100+ (12 ประเทศ)$11.99$4.99/เดือน~15 นาทีไม่มี (CLI เท่านั้น)
Perfect PrivacyOpenVPNใช่55+ (23 ประเทศ)$12.99$8.95/เดือน~20 นาทีไม่มี (CLI เท่านั้น)
IPredatorOpenVPNใช่15+ (3 ประเทศ)€8€6/เดือน~10 นาทีไม่มี (CLI เท่านั้น)
NordVPNOpenVPNบางส่วน (คำแนะนำจากชุมชน)6,400+ (111 ประเทศ)$12.99$3.39/เดือน~25 นาทีไม่มี (CLI เท่านั้น)

ข้อสรุปหลัก: ไม่มีผู้ให้บริการใดที่ให้ไคลเอนต์ GUI FreeBSD การตั้งค่าทั้งหมดต้องใช้คำสั่งเทอร์มินัล หากคุณต้องการเครื่องมือแบบกราฟิก ลองใช้ VPN บน pfSense หรือ OPNsense appliance แทน

Mullvad: ดีที่สุดโดยรวมสำหรับความเป็นส่วนตัว FreeBSD

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

Mullvad เผยแพร่คำแนะนำการกำหนดค่า WireGuard FreeBSD อย่างเป็นทางการ กระบวนการตั้งค่าของพวกเขาใช้เวลาประมาณ 10 นาที:

# ติดตั้งเครื่องมือ WireGuard
pkg install wireguard-tools

# สร้างไดเรกทอรี่การกำหนดค่า
mkdir -p /usr/local/etc/wireguard

# สร้างคีย์
wg genkey | tee /usr/local/etc/wireguard/privatekey | wg pubkey > /usr/local/etc/wireguard/publickey

# ดาวน์โหลดการกำหนดค่า Mullvad จากหน้าบัญชี
# วางไฟล์ใน /usr/local/etc/wireguard/wg0.conf

# เปิดอินเทอร์เฟซ
wg-quick up wg0

มาตรวัดประสิทธิภาพ (FreeBSD 14.0, AMD Ryzen 5 3600):

  • WireGuard: 280 Mbps ดาวนโหลด, 240 Mbps อัปโหลด
  • OpenVPN (AES-256-GCM): 105 Mbps ดาวนโหลด, 95 Mbps อัปโหลด

Mullvad คิดค่าธรรมเนียมคงที่ $5.50/เดือน โดยไม่มีส่วนลดสำหรับเทอมที่ยาวนานขึ้น ความเรียบง่ายนี้ดึงดูดผู้ใช้ FreeBSD ที่ชอบราคาที่ตรงไปตรงมาโดยไม่มีกลยุทธ์การขายเพิ่มเติม

จุดแข็ง:

  • เอกสาร WireGuard อย่างเป็นทางการสำหรับ FreeBSD
  • การสร้างบัญชีแบบนิรนาม (ไม่ต้องใช้อีเมล)
  • ราคาคงที่โดยไม่มีสัญญาผูกมัด
  • เซิร์ฟเวอร์ 700+ ใน 43 ประเทศ
  • โครงสร้างพื้นฐานเซิร์ฟเวอร์ RAM เท่านั้น

จุดอ่อน:

  • ไม่มี multi-hop โดยไม่มีการกำหนดค่าด้วยตนเอง
  • เครือข่ายเซิร์ฟเวอร์ที่เล็กกว่า NordVPN หรือ ExpressVPN
  • ไม่มีส่วนลดระยะยาว

OVPN: WireGuard ที่มีประสิทธิภาพดีที่สุดบน FreeBSD

OVPN ยังตั้งอยู่ในสวีเดน ใช้เซิร์ฟเวอร์ที่ไม่มีดิสก์ซึ่งไม่เก็บสิ่งใดไว้บนดิสก์ ผู้ให้บริการนี้แสดงรายการ FreeBSD อย่างชัดเจนในแพลตฟอร์มที่รองรับและให้ไฟล์การกำหนดค่าสำหรับ OpenVPN และ WireGuard

การใช้ WireGuard ของ OVPN บน FreeBSD ให้ความเร็วที่เร็วที่สุดในการทดสอบของเรา:

มาตรวัดประสิทธิภาพ (FreeBSD 14.0, AMD Ryzen 5 3600):

  • WireGuard: 310 Mbps ดาวนโหลด, 270 Mbps อัปโหลด
  • OpenVPN (AES-256-GCM): 115 Mbps ดาวนโหลด, 100 Mbps อัปโหลด

ขั้นตอนการติดตั้ง OVPN WireGuard บน FreeBSD:

# ติดตั้งแพคเกจที่จำเป็น
pkg install wireguard-tools

# ดาวน์โหลดการกำหนดค่า OVPN WireGuard จากแดชบอร์ด
# บันทึกไป /usr/local/etc/wireguard/wg0.conf

# เปิดใช้งานที่บูตผ่าน rc.conf
sysrc wireguard_interfaces="wg0"
sysrc wireguard_enable="YES"

# เริ่มการเชื่อมต่อ
service wireguard start

OVPN ราคา $11.99/เดือน หรือ $4.99/เดือน ในแผนรายปี ราคารายเดือนที่สูงกว่านั้นสะท้อนโครงสร้างพื้นฐานที่มีความเป็นส่วนตัวและเล็กกว่า

จุดแข็ง:

  • ความเร็ว WireGuard ที่เร็วที่สุดบน FreeBSD ในการทดสอบ
  • เซิร์ฟเวอร์ที่ไม่มีดิสก์ (ไม่มีข้อมูลที่สัมผัสฮาร์ดไดรฟ์)
  • รองรับ OpenVPN และ WireGuard ด้วยการกำหนดค่า FreeBSD
  • พิสูจน์แล้วในศาล: OVPN ชนะคดีในปี 2020 ซึ่งพิสูจน์ว่าพวกเขาไม่มีข้อมูลผู้ใช้ที่จะส่งมอบ

จุดอ่อน:

  • เซิร์ฟเวอร์ 100+ เท่านั้นใน 12 ประเทศ
  • ราคารายเดือนที่สูงกว่า Mullvad
  • บริษัทที่เล็กกว่าโดยมีเจ้าหน้าที่สนับสนุนน้อยกว่า

Perfect Privacy: ความปลอดภัย Multi-Hop ที่ดีที่สุดสำหรับเซิร์ฟเวอร์ FreeBSD

Perfect Privacy ทำงานจากปานามาและเน้นคุณสมบัติความปลอดภัยขั้นสูง VPN multi-hop ของพวกเขากำหนดเส้นทางการจราจรผ่านเซิร์ฟเวอร์ 2-4 พร้อมกัน

ผู้ใช้ FreeBSD กำหนดค่า Perfect Privacy ผ่าน OpenVPN ตอนนี้ยังไม่มีการรองรับ WireGuard

# ติดตั้ง OpenVPN
pkg install openvpn

# ดาวน์โหลดการกำหนดค่า Perfect Privacy FreeBSD
# แตกไฟล์ไปที่ /usr/local/etc/openvpn/

# กำหนดค่าเริ่มอัตโนมัติ
sysrc openvpn_enable="YES"
sysrc openvpn_configfile="/usr/local/etc/openvpn/pp-server.ovpn"

# เริ่มบริการ
service openvpn start

มาตรวัดประสิทธิภาพ (FreeBSD 14.0, AMD Ryzen 5 3600):

  • OpenVPN single-hop: 90 Mbps ดาวนโหลด, 80 Mbps อัปโหลด
  • OpenVPN multi-hop (2 เซิร์ฟเวอร์): 55 Mbps ดาวนโหลด, 45 Mbps อัปโหลด
  • OpenVPN multi-hop (4 เซิร์ฟเวอร์): 30 Mbps ดาวนโหลด, 25 Mbps อัปโหลด

Multi-hop ลดความเร็วลงอย่างมีนัยสำคัญ สำหรับผู้ดูแลเซิร์ฟเวอร์ FreeBSD ที่ปกป้องโครงสร้างพื้นฐานที่ละเอียดอ่อน การแลกเปลี่ยนมักสมควร

ราคารายเดือนอยู่ที่ $12.99 แผนรายปีลดลงเป็น $8.95/เดือน Perfect Privacy ยังเสนอการรับประกันคืนเงิน 7 วัน

จุดแข็ง:

  • chain VPN multi-hop (เซิร์ฟเวอร์ 4 เครื่องสูงสุด)
  • เอกสารการตั้งค่า FreeBSD โดยละเอียด
  • NeuroRouting (การเลือกเซิร์ฟเวอร์ขึ้นอยู่กับ AI)
  • ไม่มีขีดจำกัดการจราจรหรือแบนด์วิดท์
  • การส่งต่อพอร์ตพร้อมใช้งาน

จุดอ่อน:

  • ยังไม่มีการรองรับ WireGuard
  • ราคาที่สูงกว่าผู้แข่งขันส่วนใหญ่
  • Multi-hop นำเสนอเลทเตนซีที่เห็นได้ชัด
  • เซิร์ฟเวอร์ 55 เครื่องใน 23 ประเทศ (เครือข่ายที่เล็กที่สุดในรายการนี้)

IPredator: การตั้งค่าที่ง่ายที่สุดสำหรับผู้เริ่มต้น FreeBSD

IPredator เปิดตัวในปี 2009 โดยผู้คนที่เกี่ยวข้องกับ The Pirate Bay บริการมุ่งเน้นความเรียบง่ายและความเป็นส่วนตัวมากกว่าอื่นใด

การตั้งค่า IPredator FreeBSD ใช้เวลาประมาณ 10 นาทีกับ OpenVPN เท่านั้น:

# ติดตั้ง OpenVPN
pkg install openvpn

# ดาวน์โหลดไฟล์การกำหนดค่า IPredator
fetch https://www.ipredator.se/static/downloads/ipredator-openvpn.conf

# ย้ายการกำหนดค่า
mv ipredator-openvpn.conf /usr/local/etc/openvpn/

# เริ่มการเชื่อมต่อ
openvpn --config /usr/local/etc/openvpn/ipredator-openvpn.conf

มาตรวัดประสิทธิภาพ (FreeBSD 14.0, AMD Ryzen 5 3600):

  • OpenVPN (AES-256-GCM): 85 Mbps ดาวนโหลด, 75 Mbps อัปโหลด

IPredator คิดค่าธรรมเนียม €8/เดือน หรือ €6/เดือนในแผนรายปี เซิร์ฟเวอร์จำกัดเพียงสวีเดน ลัตเวีย และโรมาเนีย (15+ ทั้งหมด)

จุดแข็ง:

  • กระบวนการตั้งค่า FreeBSD ที่ง่ายที่สุด
  • ความมุ่งมั่นด้านความเป็นส่วนตัวที่แข็งแกร่ง (เขตอำนาจสวีเดน)
  • ยอมรับ Bitcoin สำหรับการชำระเงินแบบนิรนาม
  • ราคาที่ตรงไปตรงมา

จุดอ่อน:

  • เซิร์ฟเวอร์เพียง 15 เครื่องใน 3 ประเทศ
  • ไม่มีการรองรับ WireGuard
  • ไม่มีการฆ่า switch หรือคุณสมบัติขั้นสูง
  • ความเร็วต่ำสุดในผู้ให้บริการห้ารายที่ทดสอบ

NordVPN: เครือข่ายเซิร์ฟเวอร์ที่ใหญ่ที่สุดพร้อมการรองรับ FreeBSD ของชุมชน

NordVPN ไม่รองรับ FreeBSD อย่างเป็นทางการ แต่ไฟล์การกำหนดค่า OpenVPN ของพวกเขาทำงานบนแพลตฟอร์ม ชุมชน FreeBSD รักษาคำแนะนำในการตั้งค่าที่ครอบคลุมกระบวนการ

# ติดตั้ง OpenVPN
pkg install openvpn

# ดาวน์โหลดการกำหนดค่า OpenVPN NordVPN
fetch https://downloads.nordcdn.com/configs/archives/servers/ovpn.zip

# แตกไฟล์และเลือกการกำหนดค่าเซิร์ฟเวอร์
unzip ovpn.zip -d /usr/local/etc/openvpn/

# สร้างไฟล์การตรวจสอบสิทธิ์
echo "your_username" > /usr/local/etc/openvpn/auth.txt
echo "your_password" >> /usr/local/etc/openvpn/auth.txt

# เริ่มการเชื่อมต่อ
openvpn --config /usr/local/etc/openvpn/ovpn_udp/us1234.nordvpn.com.udp.ovpn --auth-user-pass /usr/local/etc/openvpn/auth.txt

มาตรวัดประสิทธิภาพ (FreeBSD 14.0, AMD Ryzen 5 3600):

  • OpenVPN (AES-256-GCM): 95 Mbps ดาวนโหลด, 85 Mbps อัปโหลด

NordVPN ราคา $12.99/เดือน หรือ $3.39/เดือน ในแผน 2 ปี ด้วยเซิร์ฟเวอร์ 6,400+ ในประเทศ 111 ประเทศ มันมีการครอบคลุมภูมิศาสตร์ที่กว้างที่สุด

จุดแข็ง:

  • เซิร์ฟเวอร์ 6,400+ ใน 111 ประเทศ
  • ราคารายปีต่ำสุด ($3.39/เดือน ในแผน 2 ปี)
  • เซิร์ฟเวอร์ที่บดบังสำหรับเครือข่ายที่ได้รับข้อจำกัด
  • เซิร์ฟเวอร์พิเศษ (Double VPN, Onion over VPN)

จุดอ่อน:

  • ไม่รองรับ FreeBSD อย่างเป็นทางการ (เฉพาะคำแนะนำจากชุมชน)
  • ไม่มี WireGuard บน FreeBSD (NordLynx เป็น Linux/Windows/Mac เท่านั้น)
  • ไม่มี kill switch โดยไม่ต้องใช้แอปเนทีฟของพวกเขา
  • การตั้งค่าต้องใช้ขั้นตอนด้วยตนเองมากขึ้น (~25 นาที)

ปัญหาการกำหนดค่า OpenVPN บน FreeBSD และการแก้ไข

FreeBSD จัดการ OpenVPN แตกต่างจาก Linux ปัญหาที่พบบ่อยที่สุดและแนวทางแก้ไขมีดังนี้

ไม่พบอุปกรณ์ TUN

FreeBSD อาจไม่โหลดไดรเวอร์อุปกรณ์ tun โดยอัตโนมัติ แก้ไขโดยเพิ่มมันไปยังการบูต:

# เพิ่มไปที่ /boot/loader.conf
if_tun_load="YES"

# โหลดทันทีโดยไม่ต้องรีบูต
kldload if_tun

DNS หลุดไปผ่าน resolv.conf

OpenVPN บน FreeBSD ไม่ได้อัปเดต /etc/resolv.conf โดยอัตโนมัติเหมือนที่เกิดขึ้นบน Linux สร้างสคริปต์อัปเดต:

#!/bin/sh
# /usr/local/etc/openvpn/update-resolv.sh
case "$script_type" in
  up)
    cp /etc/resolv.conf /etc/resolv.conf.bak
    echo "nameserver $foreign_option_1" > /etc/resolv.conf
    ;;
  down)
    mv /etc/resolv.conf.bak /etc/resolv.conf
    ;;
esac

เพิ่มไปที่การกำหนดค่า OpenVPN:

script-security 2
up /usr/local/etc/openvpn/update-resolv.sh
down /usr/local/etc/openvpn/update-resolv.sh

ความขัดแย้ง Firewall กับ pf

ไฟร์วอลล์ pf ของ FreeBSD สามารถบล็อกการจราจร VPN ได้ เพิ่มกฎเหล่านี้ไปที่ /etc/pf.conf:

# อนุญาตการจราจร OpenVPN
pass out on egress proto udp to any port 1194
pass on tun0 all

# ไม่บังคับ: บล็อกการจราจรที่ไม่ใช่ VPN ทั้งหมด (kill switch)
block drop out on egress proto {tcp udp} from any to any
pass out on egress proto udp to <vpn_server_ip> port 1194
pass on tun0 all
pass out on egress proto udp to any port 53

โหลดไฟร์วอลล์ใหม่:

pfctl -f /etc/pf.conf

บริการ OpenVPN ไม่เริ่มต้นที่บูต

ไวยากรณ์ rc.conf สำคัญ ใช้ชื่อตัวแปรที่แน่นอน:

openvpn_enable="YES"
openvpn_if="tun"
openvpn_configfile="/usr/local/etc/openvpn/client.conf"
openvpn_dir="/usr/local/etc/openvpn"

WireGuard บน FreeBSD: การตั้งค่าโมดูลเคอร์เนลและการแก้ไขปัญหา

การรวม WireGuard แตกต่างกันไปตามเวอร์ชัน FreeBSD ส่วนนี้ครอบคลุมการติดตั้งโมดูลทั้งเนทีฟและของบุคคลที่สาม

FreeBSD 13.x: การติดตั้งโมดูลเคอร์เนล

FreeBSD 13.0 และ 13.1 ต้องใช้โมดูลเคอร์เนลภายนอก:

pkg install wireguard-kmod wireguard-tools

# โหลดโมดูล
kldload if_wg

# ทำให้ยาวนาน
echo 'if_wg_load="YES"' >> /boot/loader.conf

FreeBSD 14.x: การรองรับเคอร์เนลเนทีฟ

FreeBSD 14.0+ รวม WireGuard ในเคอร์เนลพื้นฐาน คุณต้องการเครื่องมือเท่านั้น:

pkg install wireguard-tools

WireGuard ไม่สามารถสร้างอินเทอร์เฟซได้

หาก wg-quick up wg0 ส่งคืน “RTNETLINK answers: Operation not supported” โมดูลเคอร์เนลไม่ได้โหลด:

# ตรวจสอบว่าโมดูลได้รับการโหลด
kldstat | grep wg

# โหลดด้วยตนเอง
kldload if_wg

# ตรวจสอบ
ifconfig wg0

การทำงาน WireGuard ภายใน FreeBSD Jail

FreeBSD 14.0+ รองรับ WireGuard ภายใน jails เพิ่มพารามิเตอร์ jail เหล่านี้:

# ใน /etc/jail.conf
myjail {
    allow.raw_sockets;
    vnet;
    vnet.interface = "wg0";
}

สร้างอินเทอร์เฟซ WireGuard ภายใน jail:

jexec myjail wg-quick up wg0

ปัญหา MTU ที่ทำให้เกิดการสูญเสียแพ็กเก็ต

MTU เริ่มต้นของ WireGuard คือ 1420 สามารถทำให้เกิดปัญหาบนเครือข่ายบางประเภท ลดลง:

# ใน wg0.conf
[Interface]
MTU = 1380

แนวปฏิบัติด้านความปลอดภัยสำหรับ VPN บน FreeBSD

FreeBSD มีคุณสมบัติความปลอดภัยที่เสริมการเข้ารหัส VPN รวมเข้าด้วยกันเพื่อการป้องกันแบบแบ่งชั้น

รวม VPN กับไฟร์วอลล์ pf: สร้างกฎที่บล็อกการจราจรทั้งหมดนอกอุโมงค์ VPN นี่ทำหน้าที่เป็น kill switch ระดับเครือข่ายโดยไม่ต้องพึ่งซอฟต์แวร์ผู้ให้บริการ VPN

ใช้การเข้ารหัส GELI สำหรับการกำหนดค่า VPN: เข้ารหัสไดเรกทอรี่ที่มีข้อมูลประจำตัวและไฟล์การกำหนดค่า VPN:

geli init /dev/ada0p5
geli attach /dev/ada0p5
newfs /dev/ada0p5.eli
mount /dev/ada0p5.eli /usr/local/etc/openvpn

เรียกใช้ VPN ภายใน Capsicum sandbox: กรอบงาน Capsicum ของ FreeBSD จำกัดว่ากระบวนการ VPN สามารถเข้าถึงได้อะไร ลดความเสียหายหาก VPN client ถูกประนีประนวม

ตรวจสอบสุขภาพการเชื่อมต่อ VPN: เพิ่มงาน cron ที่ตรวจสอบสถานะอุโมงค์ทุก 5 นาทีและรีสตาร์ทการเชื่อมต่อหาก:

*/5 * * * * /usr/local/bin/check-vpn.sh

ข้อสรุปสุดท้าย

ผู้ใช้ FreeBSD มีตัวเลือก VPN น้อยกว่าผู้ใช้ Linux หรือ Windows ผู้ให้บริการห้ารายที่ตรวจสอบที่นี่แต่ละรายตอบสนองความต้องการที่แตกต่างกัน

เลือก Mullvad หากคุณต้องการความเป็นส่วนตัวที่แข็งแกร่งพร้อมบัญชีแบบนิรนามและประสิทธิภาพ WireGuard ที่มั่นคง ที่ $5.50/เดือน เลือก OVPN หากความเร็วดิบเป็นสิ่งที่สำคัญที่สุด โดย WireGuard ถึง 310 Mbps ในการทดสอบ เลือก Perfect Privacy หากคุณต้องการการกำหนดเส้นทาง multi-hop สำหรับสภาพแวดล้อมเซิร์ฟเวอร์ความปลอดภัยสูง เลือก IPredator หากคุณต้องการการตั้งค่า FreeBSD ที่ง่ายที่สุด เลือก NordVPN หากคุณต้องการเข้าถึง เซิร์ฟเวอร์ 6,400+ ในประเทศ 111 ประเทศและไม่สำคัญว่าเป็นคำแนะนำ FreeBSD ที่รักษาโดยชุมชน

สถาปัตยกรรมของ FreeBSD ทำให้เหมาะสำหรับการปรับใช้ VPN โดยเฉพาะ การรวม pf firewall การแยก jail และการเข้ารหัส GELI สร้างชั้นความปลอดภัยที่ระบบปฏิบัติการผู้บริโภคอื่น ๆ ไม่เหมือนใด ผู้ให้บริการ VPN ที่เหมาะสมเสริมเครื่องมือเหล่านี้มากกว่าการแทนที่

ทรัพยากรสำหรับหน้านี้

แผนภูมิและภาพอ้างอิงจากการทดสอบของเรา เปิดดูและแชร์ได้ฟรี

  • ผังเครื่องมือ VPN ของ FreeBSD แสดงว่าไม่มีแอป GUI แบบ native และต้องตั้งค่าผ่าน CLI ไฟล์คอนฟิก OpenVPN หรือ WireGuard
    การตั้งค่า VPN บน FreeBSD มักหมายถึงคำสั่งในเทอร์มินัลและไฟล์คอนฟิก ไม่ใช่แอป GUI แบบ native

คำถามที่พบบ่อย

เหตุใดผู้ใช้ FreeBSD จึงไม่ได้รับแอป VPN แบบเนทีฟเหมือน Windows หรือ macOS

FreeBSD ไม่ใช่ Linux และใช้เคอร์เนลและ networking stack ที่แตกต่างกัน ดังนั้นผู้ให้บริการส่วนใหญ่จึงข้ามการสร้างไคลเอนต์ GUI เฉพาะสำหรับมัน ตัวอย่างเช่น คุณติดตั้ง OpenVPN หรือ WireGuard ผ่าน pkg install จัดการพวกเขาผ่าน rc.conf และเก็บการกำหนดค่าใน /usr/local/etc/ ผู้ให้บริการที่มีการรองรับเอกสาร FreeBSD ทำเช่นนี้ผ่านการตั้งค่าเทอร์มินัลแทนแอปแบบกราฟิก

ความแตกต่างจริงระหว่างการใช้ OpenVPN และ WireGuard บน FreeBSD คืออะไร

OpenVPN ทำงานทั้งหมดในพื้นที่ผู้ใช้โดยใช้ไดรเวอร์ tun ของ FreeBSD ที่สร้างขึ้นมาและทำงานบนแพลตฟอร์มมากกว่า 15 ปี แต่รหัสพื้นฐานประมาณ 100,000+ บรรทัดจะเพิ่ม CPU overhead (ประมาณ 2-3% ไม่ทำงาน) WireGuard มาพร้อมกับโมดูลเคอร์เนลเนทีฟซึ่งเริ่มต้นใน FreeBSD 13.1 (เนทีฟเต็มรูปแบบใน 14.0+) ทำงานที่ 0.5-1% CPU ไม่ทำงาน และรหัสพื้นฐานประมาณ 4,000 บรรทัดทำให้การตรวจสอบอิสระเร็วขึ้น

ฉันจะได้ WireGuard ทำงานแบบเนทีฟบน FreeBSD 14 ได้อย่างไร

บน FreeBSD 14.0+ WireGuard อยู่ในเคอร์เนลพื้นฐาน ดังนั้นคุณต้องการเพียง pkg install wireguard-tools จากนั้น kldload if_wg เพื่อโหลดโมดูล บน FreeBSD 13.0 หรือ 13.1 คุณต้องมีแพคเกจ wireguard-kmod ก่อน เมื่อโหลดแล้ว สร้างคีย์ด้วย wg genkey/wg pubkey และนำอินเทอร์เฟซขึ้นมาด้วย wg-quick up wg0

เหตุใด OpenVPN จึงรั่วไหล DNS requests บน FreeBSD และฉันจะหยุดเรื่องนี้ได้อย่างไร

ไม่เหมือนกับ Linux OpenVPN บน FreeBSD ไม่ได้เขียนใหม่ /etc/resolv.conf โดยอัตโนมัติเมื่ออุโมงค์เชื่อมต่อ ดังนั้นคำค้นหา DNS อาจข้ามการเชื่อมต่อแบบเข้ารหัส แก้ไขด้วยสคริปต์ up/down ที่สำรองและแลก resolv.conf บนการเชื่อมต่อและคืนค่าบนการตัดการเชื่อมต่อ จากนั้นอ้างอิงสคริปต์นั้นด้วย script-security 2 ในไฟล์การกำหนดค่า OpenVPN

“ไม่พบอุปกรณ์ tun” error บน FreeBSD มีสาเหตุมาจากอะไร

FreeBSD บางครั้งไม่สามารถโหลดไดรเวอร์ tun ที่ OpenVPN ขึ้นอยู่กับ สร้าง error นี้ที่เวลาเชื่อมต่อ เพิ่ม if_tun_load="YES" ไปยัง /boot/loader.conf เพื่อให้มันโหลดโดยอัตโนมัติในการบูตทุกครั้ง หรือเรียกใช้ kldload if_tun เพื่อโหลดทันทีโดยไม่ต้องรีบูต นี่เป็นหนึ่งในความล้มเหลวในการตั้งค่า OpenVPN ครั้งแรกที่พบได้บ่อยที่สุดบนแพลตฟอร์ม

ฉันจะสร้าง kill switch ระดับเครือข่ายโดยใช้ไฟร์วอลล์ pf ของ FreeBSD ได้อย่างไร

แทนที่จะพึ่งพา kill switch ระดับแอปของผู้ให้บริการ (ซึ่งการตั้งค่า FreeBSD ส่วนใหญ่ไม่มี) ให้เพิ่มกฎ pf.conf ที่บล็อกการจราจรขาออกทั้งหมดยกเว้นสิ่งที่กำหนดเส้นทางผ่านอินเทอร์เฟซ tun0 ของ VPN และ IP เซิร์ฟเวอร์เฉพาะของผู้ให้บริการบนพอร์ต VPN โหลดใหม่ด้วย pfctl -f /etc/pf.conf ซึ่งจะบล็อกการจราจรทั้งหมดหากอุโมงค์หลุด ทำหน้าที่เป็นตัวหยุด failsafe ระดับไฟร์วอลล์

ฉันจะเรียกใช้ WireGuard ภายใน FreeBSD jail ได้อย่างไร

การรองรับ Jail ต้องมี FreeBSD 14.0 หรือใหม่กว่า เนื่องจาก WireGuard ต้องโหมด vnet networking ภายใน jail เพิ่ม allow.raw_sockets, vnet และ vnet.interface = "wg0" ไปยังบล็อกการกำหนดค่า jail ใน /etc/jail.conf จากนั้นนำอุโมงค์ขึ้นมาจากนอก jail ด้วย jexec myjail wg-quick up wg0 เวอร์ชัน FreeBSD ก่อนหน้านี้ไม่รองรับการรวม jail นี้

ผู้ให้บริการใดที่จริง ๆ เผยแพร่เอกสาร FreeBSD อย่างเป็นทางการเทียบกับการพึ่งพาคำแนะนำจากชุมชน

Mullvad, OVPN, Perfect Privacy และ IPredator ทั้งหมดเผยแพร่คำแนะนำการตั้งค่า FreeBSD อย่างเป็นทางการด้วยไฟล์การกำหนดค่าที่ทดสอบแล้ว NordVPN ไม่มีการรองรับ FreeBSD อย่างเป็นทางการ; การกำหนดค่า OpenVPN ของมันทำงานบนแพลตฟอร์ม แต่เฉพาะคำแนะนำที่รักษาโดยชุมชนเท่านั้นที่เดินทางผ่านกระบวนการ ซึ่งมักใช้เวลามากกว่าผู้ให้บริการที่มีเอกสารอย่างเป็นทางการ

ผู้ให้บริการหลักรายใด #1 of 22 ใน Speed Lab ของเรา สำหรับผู้ใช้ FreeBSD ที่ต้องการความเร็วข้ามแพลตฟอร์มด้วย

NordVPN อยู่อันดับ #1 of 22 ใน Speed Lab ของเราซึ่งรวบรวมจาก labs อิสระ อยู่ข้างหน้า Mullvad ที่อันดับ #7 และ ExpressVPN ที่อันดับ #8 NordVPN ขาดการรองรับ FreeBSD อย่างเป็นทางการและต้องใช้คำแนะนำ OpenVPN ของชุมชน ขณะที่ Mullvad เผยแพร่เอกสาร WireGuard แบบเนทีฟอย่างเป็นทางการสำหรับ FreeBSD ทำให้เป็นตัวเลือกที่แข็งแกร่งกว่าหาก ความเข้ากันได้ FreeBSD มีความสำคัญมากกว่าการจัดอันดับดิบ

NordVPN, ExpressVPN และ Mullvad ราคาเท่าไหร่จริง ๆ สำหรับการตั้งค่า FreeBSD

NordVPN เริ่มต้นจาก $3.49/เดือนในแผนระยะยาว ExpressVPN ยังเริ่มต้นจาก $3.49/เดือนในแผนระยะยาว และ Mullvad คิดค่าธรรมเนียมคงที่จาก $5.50/เดือน โดยไม่มีส่วนลดระยะยาว ไม่มีตัวเลือกใดเสนอไคลเอนต์ GUI FreeBSD ดังนั้นความแตกต่างของราคาจึงมาจากโครงสร้างพื้นฐานเซิร์ฟเวอร์และเขตอำนาจ มากกว่าความสะดวกในการตั้งค่า

ฉันสามารถรับเงินคืนได้หากการตั้งค่า FreeBSD ของผู้ให้บริการไม่ทำงานสำหรับกรณีการใช้งานของฉัน

ใช่ สำหรับสองใน สาม NordVPN และ ExpressVPN ทั้งคู่สนับสนุนแผนของพวกเขาด้วยการรับประกันคืนเงิน 30 วัน ให้เวลาคุณในการทดสอบ WireGuard หรือการกำหนดค่า OpenVPN บนกล่อง FreeBSD ของคุณก่อนการตรวจสอบ Mullvad ไม่มีการทดลอง; เป็นแบบจ่ายเมื่อคุณใช้ แม้ว่าวันที่ไม่ได้ใช้ในอัตราคงที่รายเดือนของมันสามารถคืนเงินได้หากคุณยกเลิกตั้งแต่เนิ่นๆ

ฉันจะได้รับจำนวนการเชื่อมต่อพร้อมกันเท่าไหร่สำหรับการปกปิดเซิร์ฟเวอร์ FreeBSD ควบคู่ไปกับอุปกรณ์อื่น ๆ

มันแตกต่างกันไปตามผู้ให้บริการ NordVPN อนุญาตให้เชื่อมต่ออุปกรณ์พร้อมกัน 10 เครื่อง ExpressVPN อนุญาตให้ 10-14 ขึ้นอยู่กับระดับแผน และ Mullvad มี cap ที่ 5 สำหรับผู้ดูแลเซิร์ฟเวอร์ FreeBSD ที่ใช้ jails หลายตัวหรือ pfSense appliance ควบคู่ไปกับอุปกรณ์ส่วนบุคคล ขีด จำกัด อุปกรณ์ที่สูงขึ้นของ NordVPN หรือ ExpressVPN ให้พื้นที่มากขึ้นก่อนที่คุณจะต้องใช้บัญชีที่สอง

รหัสพื้นฐานที่เล็กกว่าของ WireGuard ทำให้ปลอดภัยกว่า OpenVPN โดยมีความหมายสำหรับการปรับใช้ jail FreeBSD หรือไม่

มันลดพื้นผิวการโจมตี เป็นอย่างน้อย รหัสพื้นฐานประมาณ 4,000 บรรทัดของ WireGuard ตรวจสอบได้ง่ายกว่า OpenVPN 100,000+ บรรทัด และเนื่องจากมันทำงานเป็นโมดูลเคอร์เนล FreeBSD แบบเนทีฟ (13.1+ โดย kmod เนทีฟบน 14.0+) แทนที่จะอยู่ในพื้นที่ผู้ใช้ มันยังใช้ CPU น้อยลง (0.5-1% ไม่ทำงานเทียบกับ OpenVPN 2-3%) ขณะทำงานภายใน jails ที่แยกออกมา