ฉันจะโฮสต์เว็บไซต์บนที่อยู่ IP ที่กำหนดแบบไดนามิกได้อย่างไร


15

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

มีหลายวิธีที่ฉันเห็นการทำสิ่งนี้:

  1. โน้มน้าว ISP ของฉันให้ IP แบบคงที่แก่ฉัน

  2. กำหนดเราเตอร์ของฉันให้เป็น IP ปัจจุบันเพื่อบังคับใช้ IP แบบคงที่ (ซึ่งอาจใช้งานได้)

  3. ตั้งค่าระเบียน DNS ของฉันเป็นที่อยู่ IP ปัจจุบันของฉันและอัปเดตในโอกาสที่หายากที่จะเปลี่ยนแปลง

เห็นได้ชัดว่าฉันหวังว่าคนแรกใช้งานได้ แต่ฉันไม่ต้องการจ่ายเงินพิเศษจำนวนมาก (ถ้านั่นคือสิ่งที่ต้องทำ) เพื่อรับที่อยู่ IP แบบคงที่

ตัวเลือกใดต่อไปนี้ที่ทำงานได้อย่างน่าเชื่อถือที่สุด


1
ISP ของฉันบังคับให้ฉันอัพเกรดแผนเพียงเพื่อเปิดพอร์ต HTTP และ Sendmail เว็บไซต์ของพวกเขากล่าวว่าพวกเขาปิดพอร์ต 80 ไว้เพราะมีบางอย่างเกี่ยวกับไวรัส เป็นกลยุทธ์ที่ทำให้ตกใจที่พวกเขาใช้เพื่อให้เจ้าของธุรกิจขนาดเล็กต้องจ่ายมากขึ้น ฉันไม่ได้รับคำตอบที่ตรงจากพวกเขาว่าทำไมพวกเขาถึงแนะนำให้ไวรัสแพร่กระจายบนพอร์ต 80 เมื่อ 99% ของเว็บไซต์หลายร้อยล้านแห่งทำงานบนพอร์ต 80 ฉันสงสัยว่า ISP ของคุณจะให้ IP แบบคงที่กับคุณฟรี จะน่ากลัวสวยถ้าพวกเขาทำ
Anagio

คำตอบ:


17

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

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


2
ฉันเห็นด้วยฉันจะจ่ายเงินสำหรับโฮสต์ใหม่แทนที่จะพยายามผ่านการตั้งค่าเซิร์ฟเวอร์ของคุณเองผ่านการเชื่อมต่อที่อยู่อาศัย
Vince Pettit

1
โดเมนย่อยที่ฉันเคลื่อนไหวคือโดเมนย่อยสำหรับการพัฒนาทดสอบ ไม่มีอะไรสำคัญสำหรับลูกค้าที่จะเห็น (ส่วนใหญ่ไม่ทราบว่ามีอยู่) ฉันจ่ายเงินให้ ISP ของฉันด้วยที่อยู่ IP แบบคงที่มีค่าใช้จ่ายเพิ่มเติมเพียง $ 5 / เดือนบวกกับพวกเขาเพิ่มความเร็วในการอัปโหลดให้ฉัน
Nick

@ นิค: ในกรณีนี้ดูเหมือนว่าการตั้งค่าที่เหมาะสม / ข้อเสนอที่ดี
Lèsemajesté

คุณยังสามารถใช้ CNAME เพื่อให้เซิร์ฟเวอร์ภายในบ้านของคุณสามารถเข้าถึงได้จากโดเมนที่คุณเป็นเจ้าของ (ยังต้องใช้บริการ DNS แบบไดนามิก)
Andrew Shooner

6

ฉันยังโฮสต์เว็บไซต์บนเซิร์ฟเวอร์ DHCP ในพื้นที่ของฉัน แม้จะมีการเชื่อมต่อ DHCP เหมือนฉันมี IP ของฉันจะไม่เปลี่ยนแปลงหากฉันสูญเสียพลังงาน โปรโตคอลทำงานได้โดยการตรวจสอบที่อยู่ mac ของฉันและพยายามให้ IP เดิมแก่ฉัน เมื่อใดก็ตามที่ ISP ใช้งานได้แม้ว่าโดยทั่วไปแล้วฉันทำ IP ของฉันหายเมื่อโมเด็มของฉันหยุดทำงาน

ฉันจะโฮสต์เว็บไซต์ได้อย่างไรโดยใช้ no-ip.com สิ่งนี้จะบอกพวกเขาว่าที่อยู่ IP ของฉันคืออะไรเมื่อมีการเปลี่ยนแปลง พวกเขาจัดการระเบียน DNS เพื่อที่ว่าเมื่อผู้เยี่ยมชม www.mydomain.com ตรวจสอบระเบียน DNS ของ no-ip.com และดูที่อยู่ IP ของฉันเพื่อกำหนดเส้นทางการรับส่งข้อมูล

Linksys ของฉันส่งต่อ www, mysqld และ ftp traffic ไปยังเซิร์ฟเวอร์ภายใน 192.168.15.11 สำหรับ exmaple เดสก์ท็อปการทำงานปกติของฉันมี 192.168.15.10 ด้วยวิธีนี้เว็บเซิร์ฟเวอร์ของฉันสามารถเรียกใช้ Ubuntu / Nginx ให้บริการหน้าเว็บได้และฉันยังคงสามารถทำงานได้จากเครื่องอื่นบน Windows

เมื่อใดก็ตามที่ IP ของคุณเปลี่ยนแอพ windows จาก no-ip.com จะอัปเดตเป็นบัญชี no-ip.com ของคุณและ DNS ของคุณจะได้รับการอัปเดต


3

มองไปที่ใช้ (DDNS) บริการ DNS แบบไดนามิกเช่นDyn ผู้ให้บริการ DDNS อนุญาตให้ใช้ชื่อโดเมนแบบคงที่สำหรับ IP แบบไดนามิก บริการค่อนข้างถูกสำหรับเว็บไซต์ที่มีการจราจรต่ำ วิธีการทำงานของ DDNS คือคุณตั้งค่าเราเตอร์เพื่ออัปเดตบริการ DDNS ที่ถือครองชื่อโดเมนของคุณด้วย IP ปัจจุบันเป็นระยะ การใช้ DDNS ที่ระดับเราเตอร์นั้นสะดวกกว่าการใช้แอพที่รันฝั่งเซิร์ฟเวอร์เพื่อทำสิ่งเดียวกัน ผู้ใช้อินเทอร์เน็ตที่ป้อนชื่อโดเมนของคุณจะถูกเปลี่ยนเส้นทางโดยผู้ให้บริการ DDNS ไปยังที่อยู่ IP ที่ถูกต้อง DD-WRT สนับสนุนหลาย APIs DynDNS น่าจะเป็นที่นิยมที่สุดและ Linksys และ Belkin สนับสนุน DynDNS API ในเฟิร์มแวร์ดั้งเดิม


1

ที่จริงมันเป็นไปได้ และมีวิธีที่ง่ายในการทำให้เป็นอัตโนมัติ

นี่เป็นวิธี และสคริปต์ mockup เพื่อให้คุณเริ่มต้น (มันทำงานได้อย่างสมบูรณ์)

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

  2. สร้างบัญชี no-ip หรือค่อนข้าง dyndns และรับหนึ่งในโดเมนย่อยฟรีสำหรับโฮสต์ของคุณ (เนื่องจากไม่มี ip เริ่มทำ captcha รายเดือนสำหรับผู้ใช้ฟรี) คุณจะใช้โดเมนนี้เพื่อเปรียบเทียบกับ ip ซึ่งโดเมนจริงของคุณชี้ไปที่ (หมายเหตุ คุณสามารถใช้เฉพาะ IP WAN ของคุณหากคุณได้รับฉันโพสต์ด้วยวิธีนี้เพราะบางคนไม่สามารถรับได้จากเราเตอร์ / โมเด็ม ฯลฯ พวกเขายังสามารถใช้บางอย่างเช่น whatismyip / com / org / net อะไรก็ได้ หรือเพียงแค่เรียกใช้สคริปต์การปรับปรุงด้านล่างเป็นระยะ)

  3. สร้าง bash หรือสคริปต์อะไรก็ได้ที่มีหน้าตาดังนี้:

#! / bin / ทุบตี
#
#
# อย่าลืมติดตั้งบริการ noip
# RIP var จะเป็น IP จริงของเราและ CIP จะเป็น IP ปัจจุบันซึ่งกลัวองค์กร
#nameservers ชี้ไปที่ 
# นอกจากนี้หากคุณไม่ได้ลบหรือแทนที่ "ip.of.nameserver.here.if.you.want" ด้วย 
#actual name server ที่คุณต้องการใช้แทนเซิร์ฟเวอร์เริ่มต้น 
#กรุณาฆ่าฉัน

RIP = `nslookup yourhost.dyndns.org ip.of.nameserver.here.if.you.want | ที่อยู่ grep: awk 'NR == 2 {พิมพ์ $ 2}' '
CIP = `nslookup yourdomain.com ip.of.nameserver.here.if.you.want | ที่อยู่ grep: awk 'NR == 2 {พิมพ์ $ 2}' '
ถ้า [$ RIP = $ CIP] # เป็น ip ของโฮสต์ dyndns / no-ip ของคุณเหมือนกับ ip ของโดเมน
แล้วก็
echo "ใช่มันเหมือนกัน" # คุณไม่ต้องการสิ่งนี้จริงๆ แต่เพื่อลบล้าง
อื่น
echo "ไม่เหมือนกันอัปเดต ... " 
#again คุณไม่จำเป็นต้องใช้บรรทัดนี้เช่นกัน แต่บรรทัดด้านล่างใช้ uri ที่คุณจะได้รับ
# fear.org ซึ่งคุณจะใช้ตัวอย่างเช่น lynx หรืออย่างไรก็ตามคุณต้องการอัปเดตรายการ dns ของคุณเป็น ip ปัจจุบันของคุณ

lynx -dump "http: // freedns (dot) org (dot) org / dynamic / update.php? YOUR_UNIQUE_UPDATE_CODE_GOES_HERE"> / dev / null
Fi

. 3. สร้างงาน cron.d ที่จะพูดทุกสองสามนาทีและดำเนินการสคริปต์ ip.sh ที่กล่าวถึงข้างต้น รายการ crontab ควรมีลักษณะดังนี้:

* / 10 * * * * /path/to/script/ip.sh> / dev / null 2> & 1
  1. ???
  2. กำไร! ตอนนี้คุณสามารถโฮสต์โดเมนของคุณบน IP แบบไดนามิกและคุณทำทุกอย่างใน 5 นาที ผมชนะ.

1

ผู้รับจดทะเบียน DNS บางรายมี API ซึ่งให้คุณอัปเดตระเบียน A (ที่อยู่ IP เราเตอร์) ของคุณผ่านคำขอทางเว็บ

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

จากนั้นคุณสามารถกำหนดให้สคริปต์ทำงานเป็นระยะ ๆ (เช่นวันละครั้ง) เพื่อรักษาข้อมูล

ฉันได้เขียนหนึ่งและมันสามารถนำมาใช้เป็นตัวอย่างGithub เชื่อมโยงที่นี่


-1

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


3
Noip.com เป็นบริการ DNS แบบไดนามิกตามคำแนะนำอื่น ๆ Googlebot จะรวบรวมข้อมูลเว็บไซต์ DNS แบบไดนามิกดังนั้นคำตอบของคุณไม่ถูกต้อง ฉันไม่เห็นอะไรเกี่ยวกับการเปลี่ยนเส้นทางในคำถามดังนั้นฉันไม่แน่ใจว่าคุณกำลังพูดถึงอะไรอยู่ที่นั่น
Stephen Ostermiller

1
@Kenny Ray Oxenrider คุณได้รับข้อมูลที่ไม่ถูกต้อง ฉันใช้ no-ip.com สำหรับเว็บไซต์; Googlebot รวบรวมข้อมูลและจัดทำดัชนีหน้าเว็บเช่นเดียวกับซอฟต์แวร์รวบรวมข้อมูลเว็บอื่น ๆ เช่น Baidu, Yandex เป็นต้นที่อยู่ IP ของเว็บไซต์จะถูกค้นหาโดยการค้นหา DNS ไปยังเซิร์ฟเวอร์ DNS ของ No-IP เช่นเดียวกับที่อยู่ IP ของเว็บไซต์อื่น ๆ เซิร์ฟเวอร์ DNS อื่น ๆ ไม่มีการเปลี่ยนเส้นทางเนื่องจากมีใครใช้ No-IP สำหรับบริการ DNS
moonpoint

@StephenOstermiller> "ฉันไม่เห็นอะไรเกี่ยวกับการเปลี่ยนเส้นทางในคำถาม" no-ip.com มีตัวเลือกที่เรียกว่าการเปลี่ยนเส้นทางเว็บซึ่งช่วยให้ชื่อโฮสต์จะถูกเปลี่ยนเส้นทางไปยัง URL หรือที่อยู่ IPv4 บนพอร์ตเฉพาะ สิ่งนี้มีประโยชน์มากเมื่อ ISP บล็อกพอร์ตมาตรฐาน 80
ทำเครื่องหมาย Messa

@moonpoint> "ไม่มีการเปลี่ยนเส้นทางเพราะใช้ No-IP สำหรับบริการ DNS" ขึ้นอยู่กับการตั้งค่าการเปลี่ยนเส้นทางเว็บหรือไม่ หากตั้งค่าไว้Googleจะไม่จัดทำดัชนี
Mark Messa
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.