เป็นไปได้หรือไม่ที่จะโฮสต์เว็บเซิร์ฟเวอร์จากด้านหลัง NAT


21

พีซีของฉันอยู่หลังเราเตอร์ NAT ที่มีที่อยู่ IP สาธารณะ หากฉันต้องการโฮสต์เว็บไซต์จากนั้นฉันเชื่อว่าฉันต้องการชื่อโดเมนที่ฉันสามารถซื้อได้จากบางเว็บไซต์ที่จะจำนำเพื่อแก้ไขคำขอ DNS ทั้งหมดสำหรับชื่อโดเมนนั้นและส่งที่อยู่ IP ของเราเตอร์ NAT ของฉัน (ถ้าฉันไม่ต้องการ โฮสต์ชื่อโดเมนของฉันบนเซิร์ฟเวอร์) ตอนนี้ฉันต้องการโฮสต์เว็บเซิร์ฟเวอร์บนคอมพิวเตอร์ของฉัน

  1. การเปลี่ยนแปลงใดที่ควรทำกับการกำหนดค่าของเราเตอร์ NAT เพื่อส่งต่อคำขอ HTTP ทั้งหมดสำหรับ example.com ไปยังพีซีของฉันในเครือข่ายภายใน
  2. กลยุทธ์ข้างต้นถูกต้องหรือไม่
  3. ใช้บ่อยไหม

คำตอบ:


12

เป็นไปได้ที่จะโฮสต์เซิร์ฟเวอร์ที่อยู่เบื้องหลัง NAT ตามที่คุณอธิบาย
ดูที่หน้าความช่วยเหลือของ Ubuntu นี้บนเซิร์ฟเวอร์ BeHindNATสำหรับข้อมูลเบื้องต้น

อ้างอิงเพิ่มเติมบางส่วน

  1. โฮสต์เซิร์ฟเวอร์ Apache หลัง NAT
  2. การตั้งค่าเซิร์ฟเวอร์ด้านหลัง NAT
    สิ่งนี้ใช้เราเตอร์ NAT Buffalo AirStation ซีรีส์และตัวอย่างเราเตอร์ Linksys
  3. วิธีการแบ่งปันการเชื่อมต่ออินเทอร์เน็ตของ Windows XP หากคุณมีเครื่อง Windows ที่ทำ NAT
  4. [หากคุณใช้ XP คุณอาจใช้ IIS 6 5 (1 การสนับสนุนโฮสต์เสมือน) โดยไปที่แผงควบคุม> เพิ่มและลบโปรแกรม> เพิ่มคอมโพเนนต์ Windows> บริการข้อมูลทางอินเทอร์เน็ต

สิ่งนี้ถือว่าคุณรู้วิธีโฮสต์เว็บเซิร์ฟเวอร์และต้องการแนวคิดเกี่ยวกับ NAT


4

คุณสามารถตั้งค่าอุโมงค์ I2P

หากคุณต้องการเพียง TCP คุณสามารถตั้งค่าบริการ Tor ซ่อน

หากคุณต้องการไปยังหน้าเว็บโฮสต์แบบคงที่เท่านั้นคุณสามารถตั้งค่าเว็บไซต์ ZeroNet

พวกเขาทั้งหมดไม่จำเป็นต้องมีการส่งต่อพอร์ต


1

อีกทางเลือกหนึ่งอาจเป็นอะไรบางอย่างเช่น homelinux ซึ่งที่อยู่ IP แบบไดนามิกของคุณสามารถแมปกับstatix. homelinux URL

นอกจากนี้ยังมีตัวเลือกอื่นนอกเหนือจาก "homelinux"

http://www.dyndns.com/


1
  1. ตรวจสอบportforward.com พวกเขามีคำแนะนำอย่างละเอียดสำหรับสิ่งนี้แนวคิดพื้นฐานคือคุณต้องตั้งค่าเราเตอร์ให้ส่งต่อคำขอ TCP บนพอร์ต 80 ไปยังที่อยู่ IP ของคอมพิวเตอร์ของคุณ สิ่งนี้จะทำให้เกิดสิ่งอื่น: คุณจะต้องตั้งค่าคอมพิวเตอร์ของคุณให้มี IP แบบคงที่ หากคุณมีเซิร์ฟเวอร์ DHCP ทำงานบนเราเตอร์ของคุณ (ซึ่งเป็นกรณีใน 97% ของกรณี) ตรวจสอบให้แน่ใจว่าได้กำหนดหนึ่งหรือสูงกว่าหรือต่ำกว่านั้น google สำหรับ "ที่อยู่ IP แบบคงที่ LAN" อาจแสดงคำแนะนำเกี่ยวกับวิธีตั้งค่านี้ในระบบปฏิบัติการต่างๆ
  2. มันจะทำงานหาก ISP ของคุณไม่ได้ปิดกั้นการเชื่อมต่อขาเข้าที่พอร์ต 80; บางคนทำเช่นนี้เพื่อเหตุผลด้านความปลอดภัย
  3. อาจจะ. มันเป็นสิ่งที่ฉันทำตอนนี้ด้วย ftp, http, ssh, vnc, xmpp และสิ่งอื่น ๆ ...

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


1

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

https://github.com/rofl0r/nat-tunnel

เป็นสคริปต์ไพ ธ อน 250 บรรทัดซึ่งคุณสามารถเรียกใช้ได้โดยตรงจากการชำระเงิน git

ตัวอย่าง: คุณมีเซิร์ฟเวอร์ HTTP ที่รับฟังบนเครื่องโลคอลของคุณที่พอร์ต 80 คุณต้องการให้มันพร้อมใช้งานบนคลาวด์เซิร์ฟเวอร์ / IP สาธารณะของ VPS / ฯลฯ บนพอร์ต 7000 เราใช้พอร์ต 8000 บนคลาวด์เซิร์ฟเวอร์สำหรับช่องควบคุม

ใช้เช่น

เซิร์ฟเวอร์:

natsrv.py --mode server --secret s3cretP4ss --public 0.0.0.0:7000 --admin 0.0.0.0:8000

ลูกค้า:

natsrv.py --mode client --secret s3cretP4ss --local localhost:80 --admin example.com:8000

0
  1. tcp ส่งต่อพอร์ตไปยังเราเตอร์ของคุณที่พอร์ต 80 ไปยังพีซีของคุณไปยังพอร์ต

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

  3. เราเตอร์ของคุณเป็นเพียง "ไฟร์วอลล์" ระหว่างสาธารณะและเซิร์ฟเวอร์ของคุณ การตั้งค่าดังกล่าวเป็นเรื่องธรรมดา



0

1. ) คุณต้องพอร์ตส่งต่อพอร์ต 80 ไปยังที่อยู่ ip ภายในของคุณบนพอร์ต 80

2. ) อาจเป็นไปได้ หากคุณมี IP แบบคงที่จาก ISP ของคุณคุณก็พร้อมที่จะใช้กลยุทธ์นั้น หากคุณไม่มี IP แบบคงที่คุณอาจต้องใช้ Dynamic Dns ซึ่งเป็นที่ที่คุณใช้งานซอฟต์แวร์บนเซิร์ฟเวอร์และอัปเดตที่อยู่ IP ของชื่อโดเมนของคุณอย่างต่อเนื่อง พวกเขามอบหมาย อย่างไรก็ตามคุณสามารถตั้งค่าระเบียน CNAME บนโดเมนของคุณที่ชี้ไปยังระเบียนจากผู้ให้บริการไดนามิก DNS

3. ) โดยส่วนตัวฉันจะไม่พูดว่ามันเป็นเรื่องธรรมดา แต่ก็ไม่ใช่เรื่องแปลก


-2

กลยุทธ์ของคุณใช้กันอย่างแพร่หลายและถ้าคุณซื้อ IP สาธารณะก็ถือว่าดีมาก ๆ

คุณควรได้รับXAMPP XAMMP กำหนดค่าล่วงหน้าและ Apache จะใช้พอร์ต 80 เป็นค่าเริ่มต้น ตรวจสอบให้แน่ใจว่าไม่มีกระบวนการอื่นใดทำงานบนพอร์ต 80 มิฉะนั้น Apache จะไม่ทำงาน โดยทั่วไปแล้ว Skype (ถ้าคุณใช้ skype นั่นคือ) เล่นกีฬาที่เน่าเสียและ hogs port 80 คุณต้องปิดการใช้งานจากการตั้งค่าการเชื่อมต่อของคุณ

มันมี Apache, PHP และ Mysql มันจะดูแลทุกความต้องการของคุณ ก็อย่าลืมที่จะรักษาความปลอดภัยได้เป็นอย่างดี

เพียงจำไว้ว่า XAMPP ไม่ใช่ซอฟต์แวร์ที่ใช้งานจริง แต่ควรตอบสนองความต้องการของคุณในการโฮสต์เว็บไซต์ / บล็อกส่วนตัว

อีกอย่างหนึ่งถ้าคุณต้องการให้เว็บไซต์นี้ทำงานได้ตลอด 24/7 คุณจะต้องดูแลคอมพิวเตอร์ของคุณตลอด 24 ชั่วโมงทุกวัน

หากคุณต้องการโดเมนฟรีคุณสามารถรับco.ccสำหรับการใช้งานส่วนตัวและพวกเขาจะต่ออายุทุกปี

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.