พื้นที่เก็บข้อมูลนี้มีการใช้งานเครือข่ายส่วนตัวเสมือนแบบจุดต่อจุดอย่างง่ายโดยการเปิดอุปกรณ์ TUN และถ่ายโอนการรับส่งข้อมูลดิบผ่าน UDP VPN นี้ได้รับการออกแบบเพื่อสร้างอุโมงค์ระหว่างสองโฮสต์:
การรับส่งข้อมูล TUN จะถูกส่งแบบคำต่อคำระหว่างจุดปลายทั้งสองผ่านแพ็กเก็ต UDP ที่ไม่ได้เข้ารหัส ดังนั้น จึงควรใช้เฉพาะในกรณีที่โปรโตคอลที่ปลอดภัยกว่า (เช่น SSH ดู github.com/dsnet/sshtunnel) ทำงานบน VPN นี้เท่านั้น เพื่อป้องกันไม่ให้ผู้โจมตีเชื่อมต่อกับซ็อกเก็ตที่ผูกไว้ภายในเครื่องอื่น ๆ ที่ปลายทาง ตัวกรองพอร์ตแบบง่ายจึงถูกสร้างขึ้นในตัวเพื่อจำกัดการรับส่งข้อมูล IP ไว้เฉพาะพอร์ตที่ระบุเท่านั้น ผู้ใช้ udptunnel ควรตั้งค่ากฎ iptable เป็นมาตรการรองเพื่อจำกัดการรับส่งข้อมูลที่เป็นอันตราย
รองรับเฉพาะ Linux เท่านั้น
สร้างภูต:
go get -u github.com/dsnet/udptunnel
สร้างไฟล์การกำหนดค่าเซิร์ฟเวอร์:
{
"TunnelAddress" : "10.0.0.1" ,
"NetworkAddress" : ":8000" ,
"AllowedPorts" : [ 22 ] ,
}
NetworkAddress
ที่มีโฮสต์ว่างแสดงว่า daemon ทำงานในโหมดเซิร์ฟเวอร์
สร้างไฟล์การกำหนดค่าไคลเอนต์:
{
"TunnelAddress" : "10.0.0.2" ,
"NetworkAddress" : "server.example.com:8000" ,
"AllowedPorts" : [ 22 ] ,
}
โฮสต์ server.example.com
ถือว่าแก้ไขไปยังที่อยู่บางแห่งที่ไคลเอ็นต์สามารถเข้าถึงเซิร์ฟเวอร์ได้
เริ่มต้น daemon ทั้งบนไคลเอนต์และเซิร์ฟเวอร์ (สมมติว่า $GOPATH/bin
อยู่ในของคุณ $PATH
):
[email protected] $ udptunnel /path/to/config.json
[email protected] $ udptunnel /path/to/config.json
ลองเข้าถึงปลายทางอื่น (ตัวอย่างสำหรับไคลเอ็นต์ถึงเซิร์ฟเวอร์):
[email protected] $ ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_req=1 ttl=64 time=56.7 ms
64 bytes from 10.0.0.1: icmp_req=2 ttl=64 time=58.7 ms
64 bytes from 10.0.0.1: icmp_req=3 ttl=64 time=50.1 ms
64 bytes from 10.0.0.1: icmp_req=4 ttl=64 time=51.6 ms
[email protected] $ nmap 10.0.0.1
Host is up (0.063s latency).
PORT STATE SERVICE
22/tcp open ssh
[email protected] $ ssh 10.0.0.1
Password: ...
ตัวอย่างข้างต้นแสดงให้ลูกค้าเห็นว่าพยายามสื่อสารกับเซิร์ฟเวอร์ ซึ่งสามารถระบุแอดเดรสได้ที่ 10.0.0.1
คำสั่งตัวอย่างสามารถทำได้จากเซิร์ฟเวอร์โดยกดหมายเลขไคลเอ็นต์ที่ 10.0.0.2
แทน