แอปพลิเคชันต้องใช้ที่อยู่ IP, ต้องการไปที่โดเมน


15

เราใช้แอปพลิเคชั่นที่ออกแบบมาไม่ดีซึ่งต้องการที่อยู่ IP ของสำนักงานองค์กรของเราซึ่งมีที่อยู่ IP สาธารณะแบบคงที่ อย่างไรก็ตามเมื่ออินเทอร์เน็ตที่ล้มเหลวของเราเริ่มทำงานจะมีที่อยู่ IP สาธารณะคงที่แตกต่างจากนั้นการเชื่อมต่อระยะไกลจะล้มเหลว

หากแอปพลิเคชันยอมรับชื่อโดเมนฉันจะใช้กับ DNS แบบไดนามิก แต่จะไม่ยอมรับชื่อโดเมน

มีวิธีป้อนที่อยู่ IP แต่ไปที่ชื่อโดเมนของเราหรือไม่ ฉันมีสองความคิดที่ฉันยังไม่ได้ลอง

  1. ตั้งค่าที่อยู่ IP ท้องถิ่นที่เปลี่ยนเส้นทางไปยังชื่อโดเมนของเรา (เช่น 10.0.1.99 ไปที่ local.ourdomain.com) อย่างไรก็ตามฉันไม่แน่ใจว่าฉันจะทำอย่างไร ตั้งค่า Raspberry Pi ด้วยเว็บเซิร์ฟเวอร์บางที

  2. ซื้อเว็บโฮสติ้งด้วยที่อยู่ IP เฉพาะและให้มันเปลี่ยนเส้นทางไปยังโดเมนของเราซึ่งสามารถอัปเดตได้ตามต้องการ

มีความคิดเกี่ยวกับวิธีการบรรลุเป้าหมายนี้หรือไม่?


1
การใช้งานประเภทใด คุณหมายถึงบางสิ่งที่โฮสต์ภายในหรือไม่ ชอบ Ruby หรือ Java หรือจาวาสคริปต์ Framework บ้างไหม?
JakeGould

1
ย้อนกลับพร็อกซี ติดไว้ที่ที่อยู่ที่แน่นอนและส่งต่อไปยังแพ็กเก็ตไปยังที่อยู่ที่เหมาะสม
Ignacio Vazquez-Abrams

เป็นเพียงโปรแกรม Windows ที่ผู้ขายได้ให้ไว้กับเราซึ่งจะส่งและดึงข้อมูลจากสำนักงาน บริษัท ของเรา
MrPeanut

2
คุณจะต้องโฮสต์ reverse proxy ที่ไหนสักแห่งที่มีที่อยู่ IP ที่ไม่เคยเปลี่ยนแปลง ที่จะใช้เงิน คุณได้พิจารณาเพียงแค่ย้ายบริการไปยังระบบคลาวด์ที่สร้างความซ้ำซ้อนอยู่แล้วหรือยัง? ค่าใช้จ่ายอาจจะคล้ายกัน ข้อเสนอแนะอื่น ๆ ของการใช้ VPN เหมาะสมอย่างยิ่ง ฉันไม่เห็นว่า reverse proxy เป็นโซลูชันที่ดีสำหรับเรื่องนี้ได้อย่างไร
Appleoddity

1
@Appleoddity พร็อกซีย้อนกลับเป็นเพียงการใช้สัญลักษณ์แสดงหัวข้อ 1 ของ OP คุณไม่มีราสเบอร์รี่ในสำนักงานของ บริษัท แต่ในเครือข่ายท้องถิ่นที่มีการใช้งานแอปพลิเคชัน เนื่องจากเป็นไปได้ในสถานการณ์ที่กำหนดตาม OP อาจเป็นวิธีที่ง่ายและถูกที่สุด
Voo

คำตอบ:


37

reverse proxy เป็นแนวคิดที่ดี แต่อาจถูก จำกัด โดยโปรโตคอล

ฉันจะแก้ปัญหานี้ด้วยการตั้งค่า VPN (ซึ่งให้การรักษาความปลอดภัย - ถ้าแอพเขียนได้ไม่ดีมันไม่ทำการค้นหา DNS ก็อาจไม่ได้ใช้ crypto ที่เหมาะสม) การใช้ VPN หมายถึงที่อยู่ของคุณทั้งหมดสามารถเป็น rfc1918 (เช่นที่อยู่ส่วนตัว) และแอปจะไม่สนใจแม้แต่เมื่อที่อยู่ภายนอกมีการเปลี่ยนแปลง


0

VPN มีราคาค่อนข้างแพงเมื่อคุณสามารถใช้ Raspberry Pi หรือ Pi Zero และเรียกใช้ Debian บนมันและตั้งค่า iptables ให้เป็น masquarade ในแบบที่คุณต้องการ

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

หนึ่งที่อยู่จะถูกสงวนไว้สำหรับการบริหาร Raspberry Pi นั่นเป็นวิธีที่คุณจะเปลี่ยนแปลงและแก้ไขสิ่งต่างๆหากจำเป็น

อีกอันหนึ่งจะทำหน้าที่เป็นพร็อกซีสำหรับรีโมทหลัก (หรือสำรอง)

แพ็คเก็ตที่ส่งไปยังที่อยู่นั้นอาจถูกส่งต่อโดยใช้ iptablesเป็นมาสเคอเรดไปที่หลักหรือไปยังทางเลือกนั้นขึ้นอยู่กับเงื่อนไข NAT จะแก้ไขที่อยู่ต้นทางและปลายทางของแพ็คเก็ตตามที่ต้องการก่อนส่งซ้ำ

แพ็กเก็ตที่ส่งคืนจะได้รับ NATed กลับไปยังผู้ร้องขอ

สิ่งนี้จะทำงานได้ดีตราบใดที่ไม่มีที่อยู่ IP ฝังอยู่ลึกลงไปในแพ็กเก็ตหรือกรณีเช่น FTP แบบคลาสสิกที่สร้างการเชื่อมต่อแบบขนาน

คะแนนโบนัสหากคุณสามารถแจ้งให้ Pi ทราบได้ว่าไซต์หลักหายไปและเปลี่ยนเป็นสำรองโดยอัตโนมัติ


ฉันใช้ VPN ฟรีฉันไม่เห็นว่าทำไมเขาถึงทำไม่ได้ เขาไม่ได้ซ่อนการจราจรจาก ISP ของเขา OPENvpn
FreeSoftwareServers

-4

ใช้ Route53 (amazon) หรือ DNS อื่น ๆ ที่มีการกำหนดเส้นทางสำรอง หากคุณใช้การตรวจสุขภาพคุณสามารถกำหนด IP รายการ secundairy DNS เมื่อการตรวจสุขภาพของคุณล้มเหลวใน IP หลัก


7
วิธีนี้จะช่วยได้อย่างไรหากแอปพลิเคชันไม่สามารถแก้ไขระเบียน DNS ได้
ydaetskcoR

คุณจะตรวจสอบ IP อินเทอร์เน็ตหลักไม่ใช่ IP ของอุปกรณ์ IP ของอินเทอร์เน็ตแบบดั้งเดิมจะต้องแก้ไข เมื่อไม่เป็นเช่นนี้หมายความว่าคุณต้องมีการเฟลโอเวอร์
Ramon Fincken

@Ramon พิจารณาว่าแอปพลิเคชันไม่เคยใช้ระเบียน DNS ว่าการปรับระเบียน DNS จะช่วยได้อย่างไร
Voo

4 IP: IP อินเทอร์เน็ตหลัก, B อินเทอร์เน็ตทางเลือกสำรอง IP, C อุปกรณ์ IP, D IP สำรองอุปกรณ์ที่คุณจะตรวจสอบสุขภาพ IP และกลับ IP C สำหรับอุปกรณ์ ถ้าหาก A ลดลงให้ส่งคืน IP D
Ramon Fincken

1
@Ramon แอปพลิเคชันมีฮาร์ดโค้ดในการกำหนดค่าบางอย่าง "เชื่อมต่อกับ IP ABCD" ปัญหาที่แน่นอนคือไม่ได้ถามว่าควรใช้ IP ใด หรือเป็นความคิดที่ว่าพวกเขาควรรันแอปพลิเคชั่นหลาย ๆ ครั้งสำหรับแต่ละ IP ของเซิร์ฟเวอร์แล้วสลับแอปพลิเคชัน? สิ่งนี้สามารถใช้งานได้หากไม่มีปัญหาสิทธิ์การใช้งานและเป็นไปได้ที่จะกำหนดค่าแอปพลิเคชันเพื่อแชร์สถานะที่จัดเก็บและไม่มีปัญหากับการใช้งานหลายแอปพลิเคชันที่มีที่จัดเก็บข้อมูลเดียวกันในเวลาเดียวกัน
Voo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.