ฉันจะตั้งค่า OpenVPN บน CyanogenMod 7 ได้อย่างไร


18

ฉันต้องการที่จะเส้นทางทุกเครือข่ายการจราจรของฉันผ่านบ้านของฉันของการเชื่อมต่อ ISP เมื่อฉันออกในอินเทอร์เน็ตคาเฟ่ดังนั้นฉันไม่สามารถจะแอบ / firesheeped

ฉันมี HTC G2 พร้อมCyanogenMod 7ซึ่งมีไคลเอนต์ OpenVPN รองรับอยู่แล้ว :

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

ที่บ้านฉันมีเราเตอร์ที่มีTomatoVPNอยู่ซึ่งรวมถึงเซิร์ฟเวอร์ OpenVPN:

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

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

คุณต้องแพ็คใบรับรองและกุญแจของคุณและใส่ไว้ในการ์ด SD

ฉันจะหาพวกนั้นได้ที่ไหน

คัดลอก client.p12 ไปยังไดเรกทอรีราก sdcard

ฉันจะรับได้ที่ไหน

เพิ่มใบรับรองของคุณและตั้งค่าประเภทอินเตอร์เฟสและโปรโตคอลให้สอดคล้องกัน

ได้อย่างไรโดยเฉพาะ การตั้งค่าใดควรเป็นอะไร การใช้การตั้งค่าที่ไม่ได้ป้องกันฉันนั้นเลวร้ายยิ่งกว่าไม่มีการป้องกันเลยเนื่องจากความรู้สึกผิด ๆ ด้านความปลอดภัย

ฉันกำลังมองหาคำแนะนำทีละขั้นตอนสำหรับการตั้งค่า "roadwarrior" ที่กำหนดเส้นทางการรับส่งข้อมูลทั้งหมดผ่าน VPN

ฉันจะรับกุญแจได้ที่ไหน ฉันจำเป็นต้องใช้การตรวจสอบชื่อผู้ใช้ / รหัสผ่านเพิ่มเติมหรือไม่ โดเมนการค้นหา DNS ใด ฉันควรใช้การตั้งค่าใดในเมนู OpenVPN Advanced ของ CM7 "เกตเวย์การเปลี่ยนเส้นทาง" จำเป็นต้องตั้งค่าเพื่อกำหนดเส้นทางการรับส่งข้อมูลทั้งหมดเช่นใช่ไหม การตั้งค่าพื้นฐานและขั้นสูงใน TomatoVPN คืออะไร "แนะนำลูกค้าให้เปลี่ยนเส้นทางการรับส่งข้อมูลอินเทอร์เน็ต" หรือไม่ "ตอบสนองต่อ DNS"?

ปรับปรุง:

ฉันลองอีกครั้งด้วยตัวเองและไม่ประสบความสำเร็จอีกครั้ง ฉันไม่คิดว่าจะมีวิธีใดในการสร้างคีย์บนเราเตอร์หรือโทรศัพท์ดังนั้นฉันจึงพยายามสร้างคีย์เหล่านั้นใน Ubuntu ฉันพยายามติดตามคำแนะนำเหล่านี้เพื่อสร้างกุญแจ แต่มันไม่ถูกต้อง (เช่นโฟลเดอร์/usr/share/doc/openvpn/examples/easy-rsa/2.0แทน/usr/share/doc/openvpn-2.0/easy-rsaและมีvarsแต่ไม่มีinit-configสคริปต์) ฉันพบคำแนะนำเหล่านี้ซึ่งมีประโยชน์มากกว่าและสร้างไฟล์จำนวนหนึ่ง:

  • 01.pem
  • 02.pem
  • ca.crt
  • ca.key
  • dh1024.pem
  • htc_g2.crt
  • htc_g2.csr
  • htc_g2.key
  • server.crt
  • server.csr
  • server.key
  • ta.key

ไฟล์ที่ฉันคัดลอกไปยังเราเตอร์คือ

  • ca.crt
  • server.crt
  • server.key
  • dh1024.pem

ครั้งแรกปอกทุกอย่างก่อน-----BEGINตามคำแนะนำเหล่านี้ เซิร์ฟเวอร์เราเตอร์เริ่มต้นทันทีและแจ้งว่า

ชื่อค่าความยาวคิวสูงสุด bcast / mcast 0

ภายใต้สถานะ ดังนั้นฉันเดาเซิร์ฟเวอร์ทำงาน

จากนั้นฉันก็คัดลอกไฟล์เหล่านี้ไปยังโทรศัพท์:

  • ca.crt
  • htc_g2.crt
  • htc_g2.key
  • server.crt
  • ta.key

ทิศทางที่แตกต่างไม่เห็นด้วยกับไฟล์ที่จะคัดลอก จากนั้นฉันไปที่การตั้งค่า→ตำแหน่งและความปลอดภัย→ติดตั้งจากการ์ด SD และสามารถติดตั้งใบรับรอง CA เพิ่มรหัสผ่าน ฯลฯ พยายามเพิ่ม htc_g2 หรือใบรับรองเซิร์ฟเวอร์ไม่ทำงานโดยพูดว่า "ไม่ต้องติดตั้งใบรับรอง" ฉันแก้ไขไฟล์และลบทุกอย่างก่อนหน้า-----BEGINนี้จากนั้นติดตั้ง ใน "เพิ่ม OpenVPN VPN" ฉันเลือกใบรับรอง "ca" สำหรับ "ตั้งค่าใบรับรอง CA" และใบรับรอง htc_g2 สำหรับ "ตั้งค่าใบรับรองผู้ใช้" เมื่อฉันพยายามเชื่อมต่อจะมีข้อความระบุว่า "ไม่สามารถเชื่อมต่อกับเครือข่ายได้" เหมือนกันถ้าฉันลองใช้ใบรับรองเซิร์ฟเวอร์สำหรับใบรับรองผู้ใช้


คุณใช้ระบบปฏิบัติการอะไรบนคอมพิวเตอร์ที่บ้านของคุณ
newuser

@ JonnyP: คอมพิวเตอร์ที่บ้านคือ Ubuntu แต่ฉันต้องการใช้เราเตอร์มากกว่าคอมพิวเตอร์
endolith

1
ในขั้นตอนนี้ฉันขอแนะนำให้คุณพยายามให้การตั้งค่า OpenVPN ทำงานร่วมกับไคลเอนต์เดสก์ท็อป OpenVPN ปกติก่อนแล้วจึงคัดลอกการตั้งค่าเดียวกันไปยังโทรศัพท์ของคุณ
onik

ฉันไม่อยากเชื่อเลยว่าจะไม่มีใครรู้วิธีการทำเช่นนี้ ทำไมถึงมีตัวเลือกถ้าไม่มีใครเคยใช้มัน?
endolith

ฉันมีเพื่อนที่ตั้งขึ้น ... เมื่อเซนติเมตร6 เขาต้องออก certs VPN ทั้งหมดอีกครั้งหลังจากเขาพบว่าไคลเอนต์ CM จำเป็นต้องมีการตั้งค่าบางฟิลด์ ฉันจะดูว่าฉันจะได้รับข้อมูลเพิ่มเติมจากเขา
Broam

คำตอบ:


1

ก่อนอื่นตรวจสอบKeysแท็บใน TomatoVPN เพื่อดูว่าคุณได้กำหนดคีย์เริ่มต้นไว้แล้ว หากไม่มีให้ตรวจสอบOpenVPN HOWTOเพื่อดูข้อมูลเกี่ยวกับวิธีสร้างคีย์ จากนั้นคัดลอกสองคีย์แรก (ใบรับรอง CA และเซิร์ฟเวอร์) จากพื้นที่ข้อความไปยังโปรแกรมแก้ไขข้อความและบันทึกด้วย.cerส่วนต่อท้ายและโอนไปยังโทรศัพท์ของคุณ CM7 ควรสามารถนำเข้า.cerใบรับรองได้โดยตรง แต่รุ่นเก่าอาจต้องใช้ไฟล์. p12 (ดูลิงก์นี้สำหรับข้อมูลเกี่ยวกับวิธีการแปลง.crt -> .pem ->.p12) หลังจากนี้ไปที่Settings -> Security -> Install from SD Cardเพื่อโหลดใบรับรองไปยังโทรศัพท์


ลิงค์นั้นมี 14,000 คำ คุณช่วยชี้ตรงฉันไปยังส่วนที่เกี่ยวข้องได้หรือไม่? การสร้างคีย์แตกต่างกันหรือไม่หากฉันต้องการเชื่อมต่อคอมพิวเตอร์เครื่องอื่นกับเราเตอร์ของฉันนอกเหนือจากโทรศัพท์ ฉันเพิ่มรายละเอียดเพิ่มเติมลงในคำถาม
endolith

1
คีย์เดียวกันนี้ใช้กับลูกค้าทั่วไปเช่นกันฉันไม่มีประสบการณ์ในการใช้ TomatoVPN แต่คุณควรตั้งค่าไคลเอนต์คีย์อย่างน้อยสองสามอย่าง นอกจากนี้อาจเป็นไปได้ที่จะใช้ปุ่มเดียวกันพร้อมกันบนอุปกรณ์ต่าง ๆ แต่ขึ้นอยู่กับการตั้งค่า OpenVPN การสร้างคีย์ถูกอธิบายภายใต้ชื่อ "การตั้งค่า Certificate Authority (CA) ของคุณเองและการสร้างใบรับรองและกุญแจสำหรับเซิร์ฟเวอร์ OpenVPN และไคลเอนต์หลายเครื่อง" หากคุณใช้กุญแจและเก็บไว้อย่างปลอดภัยไม่จำเป็นต้องมีการตรวจสอบสิทธิ์ผู้ใช้ / รหัสผ่านภายใต้สถานการณ์ปกติ เปลี่ยนเส้นทาง gateway` เป็นคนเดียว ...
onik

... รายการที่คุณต้องเปลี่ยนในการตั้งค่า CM7
onik

เหตุผลสำหรับการลงคะแนน?
onik

1

ตกลงดังนั้นขอชี้แจงปัญหา

คุณกรุณาอธิบายไฟล์ที่ใช้สำหรับ ตัวอย่างเช่น "ta.key" มีไว้ทำอะไร?

โดยปกติจะมีรายการไฟล์ทางฝั่งของเซิร์ฟเวอร์:

  1. server.conf (การกำหนดค่าเซิร์ฟเวอร์ดูเหมือนว่าคุณไม่มีไฟล์นี้ใช่ไหม)
  2. ca.crt
  3. ca.key
  4. dh1024.pem

และเซิร์ฟเวอร์ควรมีชุดของรหัสลูกค้า

สำหรับฝั่งไคลเอ็นต์ควรมี:

  1. client.crt
  2. client.key
  3. ca.crt
  4. client.ovpn (หรือ client.conf)

ฉันไม่เห็นว่าทำไมคุณถึงมีตาคีย์?

สำหรับวิธีการสร้างไฟล์ p12 นี่คือคำแนะนำ:

เปิด terminal Linux (หมายเหตุ: คุณควรมี OpenSSL ติดตั้งไว้แล้ว), enter

openssl pkcs12 -export-in [PathToClientCert] -inkey [PathToClientKey] -certfile [PathToCACert] - ชื่อ [FriendlyName] -out certs.p12

(คุณควรแทนที่เนื้อหาของวงเล็บเหลี่ยมด้วยของคุณและไม่จำเป็นต้องเก็บวงเล็บเหลี่ยมไว้เลย)

ดังนั้นไฟล์ p12 ชื่อ certs.p12 จะถูกสร้างขึ้น

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


ฉันไม่รู้ว่าคีย์คืออะไร เซิร์ฟเวอร์ดูเหมือนว่าจะทำงานอยู่ ฉันไม่รู้วิธีเชื่อมต่อกับมัน มีไฟล์เหล่านี้ในมัน/tmp/etc/openvpn/server1 ca.crt config.ovpn dh.pem server.crt server.key statusอาจจะconfig.ovpnเป็นเช่นเดียวกับserver.conf?
endolith

@endolith ใช่ config.ovpn เหมือนกับ sever.conf คุณอาจต้องแก้ไข config.ovpn ก่อนที่จะเริ่ม OpenVPN
dumbfingers

@endolith คุณต้องการเชื่อมต่อกับ OpenVPN จากโทรศัพท์ Android CM7 หรือที่อื่น ๆ หรือไม่?
dumbfingers

เราเตอร์กำลังเรียกใช้เซิร์ฟเวอร์ OpenVPN และฉันต้องการเชื่อมต่อกับโทรศัพท์ CM7 ของฉันใช่
endolith

@endolith ขั้นแรกใช้คำสั่งที่ฉันให้ไว้เพื่อสร้างไฟล์ p12 คัดลอกไปยังการ์ด SD ในโทรศัพท์ของคุณ ทำตามในเมนูของโทรศัพท์: การตั้งค่า - ไร้สายและเครือข่าย - การตั้งค่า VPN - เพิ่ม VPN จากนั้นเลือก OpenVPN เพิ่ม VPN และกรอกตัวเลือก: [ชื่อ VPN] ใดก็ได้ตามที่คุณต้องการ [ตั้งค่าเซิร์ฟเวอร์ VPN] เติมที่อยู่ IP เช่นเดียวกับ "remote" ใน client.ovpn [การตรวจสอบผู้ใช้] หากคุณใช้ผู้ใช้ / รหัสผ่านให้กรอกข้อมูล [ตั้งค่าใบรับรอง CA] แตะ & นำเข้าใบรับรอง ca [ตั้งค่าใบรับรองผู้ใช้] แตะ & นำเข้าใบรับรองผู้ใช้ (ไคลเอนต์. crt) คุณอาจต้องตรวจสอบตัวเลือกขั้นสูง นั่นคือทั้งหมดที่
dumbfingers
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.