ไคลเอนต์ OpenVPN สามารถเข้าถึงได้จาก WAN บน Asus Router


0

ฉันมีเราเตอร์ Asus RT-N66U พร้อมเซิร์ฟเวอร์ OpenVPN ที่เปิดใช้งาน ฉันต้องทำให้หนึ่งพอร์ตของไคลเอนต์ OpenVPN ที่เชื่อมต่อพร้อมใช้งานจากอินเทอร์เน็ต ดังนั้นฉันต้องการส่งต่อพอร์ต 80 ไปยังอุปกรณ์ที่เชื่อมต่อผ่าน OpenVPN ไปยังเราเตอร์ของฉัน

ก่อนอื่นฉันลองตั้งค่า TUN ลูกค้ามีที่อยู่ IP 10.8.0.5 ฉันส่งต่อพอร์ต 80 ถึง 10.8.0.5

ปัญหาคือมันใช้งานได้จาก LAN ภายในเท่านั้น ฉันยังสามารถใช้ที่อยู่ IP ภายนอกและส่งต่อแพ็กเก็ตทั้งหมดไปยังไคลเอนต์ 10.8.0.5 โดยปกติ แต่จากอินเทอร์เน็ตฉันมักจะได้รับการหมดเวลาดูเหมือนว่าแพ็กเก็ตมาถึงอุปกรณ์ แต่ไม่ตอบสนอง

ฉันพยายามแก้ไข iptables ด้วยตนเองตามhttps://community.openvpn.net/openvpn/wiki/BridgingAndRoutingและไม่มีอะไรช่วย

ตอนนี้ฉันกำหนดค่า OpenVPN ใหม่ให้ใช้ TAP และมันก็เหมือนกันมันทำงานได้อย่างสมบูรณ์จาก LAN แต่ไม่ใช่จากอินเทอร์เน็ต ต้องมีบางสิ่งที่ฉันคิดถึง

นี่คือรายการของกฎ iptables ทั้งหมดสำหรับการกำหนดค่าบูธhttps://gist.github.com/tprochazka/72b5ca9b686d20b200c5f2662d0e9db8 (ตาราง IP ถูกสร้างขึ้นโดยเราเตอร์เอง)

ใครสามารถบอกฉันได้ว่าอะไรที่ป้องกันไม่ให้ทราฟฟิกจาก eth0 ไปยัง tun / tap interface ในรูปแบบบูธ?


1
คุณหมายถึงอะไรโดย“ ทำให้หนึ่งพอร์ตของไคลเอนต์ OpenVPN ที่เชื่อมต่อพร้อมใช้งานจากอินเทอร์เน็ต” ลูกค้า OpenVPN คืออะไร การรับส่งข้อมูลทั้งหมดจากไคลเอนต์ดังกล่าวผ่านช่องทาง VPN หรือไม่ โดย“ จาก LAN” และ“ จากอินเทอร์เน็ต” คุณหมายถึงจากด้านหลังเราเตอร์และที่อื่น ๆ หรือไม่?
Daniel B

ลูกค้า OpenVPN ใช้เทคนิค Raspbery Pi เชื่อมต่อกับฮอตสปอต WIFI ฟรีโดยไม่ต้องมีที่อยู่ IP สาธารณะ ฉันจำเป็นต้องเข้าถึงผ่านอินเทอร์เน็ต ดังนั้นมันจึงเชื่อมต่อกับ Asus Router ของฉันผ่าน OpenVPN และฉันสามารถเข้าถึงได้อย่างเต็มที่ในเครือข่ายท้องถิ่นของฉัน แต่ตอนนี้ฉันต้องทำให้พอร์ตหนึ่งของ RPI สามารถเข้าถึงได้จากอินเทอร์เน็ต (ฟอร์เวิร์ดพอร์ต 80 จากเราเตอร์ของฉันไปยัง RPI ผ่าน OpenVPN)
ATom

ปกติฉันจะกำหนดค่าการส่งต่อพอร์ตบนเราเตอร์ของฉันไปยังอุปกรณ์ใด ๆ โดยตรงในเครือข่ายท้องถิ่นของฉัน มันทำงานได้จากอินเทอร์เน็ตเสมอ ขณะนี้มีปัญหาเฉพาะกับไคลเอนต์ OpenVPN ซึ่งเป็นอินเทอร์เฟซที่แตกต่างกันดังนั้นอาจมีกฎบางอย่างหายไปใน iptables
Atom

คำตอบ:


0

คำอธิบายการกำหนดค่าของคุณไม่สมบูรณ์ดังนั้นฉันจึงสามารถเดาได้สองสิ่งเท่านั้นที่จะตรวจสอบ

  1. ก่อนอื่นคุณเพิ่มคำสั่งclient-to-clientในการกำหนดค่าเซิร์ฟเวอร์หรือไม่? ที่จะช่วยให้คุณสามารถที่จะหลีกเลี่ยงมากที่สุดiptablesที่เกี่ยวข้องกับปัญหาที่เกิดขึ้นเพราะแพ็คเก็ตจะไม่ผ่านกองปกติ แต่พวกเขาจะถูกส่งภายในเพื่อOpenVPN

  2. คุณสังเกตเห็นว่ากฎดังต่อไปนี้

    Chain FORWARD (policy DROP)
    target     prot opt source               destination
    ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
    DROP       all  --  anywhere             anywhere
    

ป้องกันการสื่อสารระหว่างลูกค้าสองคน มีการใช้กฎiptablesตามลำดับ: เมื่อใดก็ตามที่พบกฎแรกที่เหมาะสมการประมวลผลของกฎต่อไปนี้จะสิ้นสุดลงและมีการใช้กฎที่ใช้ ดังนั้นเมื่อใดก็ตามที่มีแพ็กเก็ตใหม่มาถึงกฎข้อแรกข้างต้นจะไม่นำมาใช้กฎข้อที่สองจะใช้จึงเป็นแพ็กเก็ตใหม่ที่ถูกทิ้ง ดังนั้นจึงไม่มีการเชื่อมต่อใหม่เกิดขึ้น

ฉันไม่แน่ใจว่านี่คือทั้งหมดที่ใช้ในการทำให้การกำหนดค่าของคุณทำงานได้ แต่คุณอาจลองพยายามแก้ไขจุดสองจุดด้านบนแล้วกลับมาทำซ้ำอีกครั้งถ้าคุณได้พิสูจน์แล้วว่าข้างต้นไม่ใช่สาเหตุเพียงอย่างเดียวของ shenanigans .


ข้อมูลอะไรหายไป? ฉันสามารถอัปเดตได้ ลูกค้ากับลูกค้าทำงานได้ตามปกติ ถ้าฉันเชื่อมต่อกับเราเตอร์จากอินเทอร์เน็ตโดย OpenVPN หรือ PPTP หรือฉันโดยตรงบน LAN ฉันสามารถสื่อสารกับลูกค้าได้ตามปกติ สิ่งเดียวที่ใช้ไม่ได้คือพอร์ตเปลี่ยนเส้นทางจากอินเทอร์เน็ต ฉันพยายามเรียกใช้ tcpdump กับลูกค้าโดยตรงและคำขอมาถึง แต่การตอบกลับไม่ได้
Atom
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.