Làm cách nào tôi có thể lưu trữ một trang web trên một địa chỉ IP được gán động?


15

Gần đây tôi đã nâng cấp internet của mình đến mức nhanh hơn và đáng tin cậy hơn so với webhost hiện tại của tôi. Tôi muốn chuyển tên miền hiện tại của mình để được lưu trữ tại nhà, nhưng địa chỉ IP của tôi là động. Theo như tôi biết, tôi chỉ nhận được một IP mới khi tôi khởi động lại modem và bộ định tuyến (gần như không bao giờ) hoặc khi cáp một (ISP của tôi) đẩy ra bản cập nhật firmware (hiếm khi).

Có một số cách tôi có thể thấy làm điều này:

  1. Thuyết phục ISP của tôi cung cấp cho tôi một IP tĩnh

  2. Chỉ định bộ định tuyến IP hiện tại của tôi để buộc IP tĩnh (có thể hoạt động?)

  3. Đặt bản ghi DNS của tôi thành địa chỉ IP hiện tại của tôi và cập nhật nó trong những dịp hiếm hoi mà nó thay đổi.

Rõ ràng tôi đang hy vọng rằng cái đầu tiên hoạt động, nhưng tôi không muốn trả nhiều tiền hơn (nếu đó là những gì nó cần) để có được một địa chỉ IP tĩnh.

Lựa chọn nào trong số những lựa chọn này sẽ hoạt động đáng tin cậy nhất?


1
ISP của tôi buộc tôi phải nâng cấp các kế hoạch chỉ đơn giản là mở các cổng HTTP và Sendmail. Trang web của họ cho biết họ đóng cổng 80 vì có liên quan đến virus. Thật đáng kinh ngạc các chiến thuật đáng sợ mà họ sử dụng để khiến các chủ doanh nghiệp nhỏ phải trả nhiều tiền hơn. Tôi không thể nhận được câu trả lời thẳng thắn từ họ tại sao họ lại đề xuất vi-rút lây lan trên cổng 80 khi 99% trong số hàng trăm triệu trang web chạy trên cổng 80. Tôi nghi ngờ ISP của bạn sẽ cung cấp cho bạn IP tĩnh miễn phí, họ sẽ là khá tuyệt vời nếu họ làm mặc dù.
Anagio

Câu trả lời:


17

Bạn không thể chỉ định bộ định tuyến của mình một IP tĩnh để nhận IP tĩnh. Hầu hết các nhà cung cấp băng thông rộng cho phép bạn thuê một IP tĩnh từ họ với một khoản phí bổ sung hàng tháng. Nhưng có lẽ bạn nên chi tiêu tốt hơn cho một webhost đàng hoàng, vì nó sẽ rẻ hơn, ít rắc rối hơn và bạn sẽ có thời gian hoạt động tốt hơn. Thêm vào đó, hầu hết các kết nối băng thông rộng dân cư có tốc độ ngược dòng thực sự kém. Và một số thậm chí có ToS chống lại việc chạy bất kỳ loại máy chủ internet nào trừ khi bạn nâng cấp lên kế hoạch kinh doanh.

Tuy nhiên, nếu bạn vẫn đặt lưu trữ trang web từ nhà, bạn có thể sử dụng dịch vụ DNS động sẽ tự động cập nhật bản ghi DNS của bạn bất cứ khi nào IP của bạn thay đổi. Mặc dù có những bất lợi đáng kể cho việc này. Đối với một người, trừ khi bạn đặt thời gian TTL rất ngắn, khả năng người dùng được chuyển đến một IP cũ và không thể truy cập trang web của bạn là rất cao. Nhưng nếu bạn đặt TTL rất thấp, người dùng sẽ phải thực hiện các yêu cầu DNS thường xuyên, điều này không tốt cho hiệu suất.


2
Tôi đồng ý, tôi sẽ trả tiền cho một máy chủ mới thay vì cố gắng vượt qua rắc rối khi thiết lập máy chủ của riêng bạn thông qua kết nối dân cư.
Vince Pettit

1
Tên miền phụ tôi đang di chuyển là tên miền phát triển thử nghiệm của tôi. Không có gì quan trọng cho khách hàng thấy (hầu hết họ thậm chí không biết nó ở đó). Tôi cố gắng trả ISP của mình cho một địa chỉ IP tĩnh, chỉ mất thêm $ 5 / tháng cộng với việc họ tăng tốc độ tải lên cho tôi.
nick

@nick: Trong trường hợp đó, đó có vẻ là một thiết lập hợp lý / thỏa thuận tốt.
Lèse majesté

Bạn cũng có thể sử dụng CNAME để làm cho máy chủ gia đình của bạn có thể truy cập được từ một tên miền mà bạn sở hữu (vẫn yêu cầu dịch vụ dns động).
Andrew Shooner

6

Tôi cũng lưu trữ một trang web trên máy chủ DHCP cục bộ của tôi. Ngay cả với kết nối DHCP như IP của tôi cũng không thay đổi nếu tôi mất điện. Giao thức hoạt động bằng cách kiểm tra địa chỉ mac của tôi và cố gắng trả lại IP cũ cho tôi. Bất cứ khi nào ISP hoạt động mặc dù tôi thường bị mất IP khi modem bị hỏng.

Cách tôi lưu trữ trang web bằng cách sử dụng no-ip.com, điều này cho họ biết địa chỉ IP của tôi là gì ngay cả khi nó thay đổi. Họ quản lý các bản ghi DNS để khi mọi người truy cập www.mydomain.com, nó sẽ kiểm tra các bản ghi DNS của no-ip.com và xem địa chỉ IP của tôi để định tuyến lưu lượng truy cập.

Liên kết của tôi bây giờ chuyển tiếp lưu lượng truy cập www, mysqld và ftp đến máy chủ nội bộ 192.168.15.11 để lấy sơ đồ. Máy tính để bàn làm việc thông thường của tôi có 192.168.15.10 theo cách này, máy chủ web của tôi có thể chạy Ubuntu / Nginx phục vụ các trang và tôi vẫn có thể làm việc từ một máy khác trên windows.

Bất cứ khi nào IP của bạn thay đổi ứng dụng windows từ no-ip.com sẽ đẩy cập nhật lên tài khoản no-ip.com của bạn và DNS của bạn luôn được cập nhật.


3

Tìm cách sử dụng dịch vụ DNS động (DDNS), chẳng hạn như Dyn . Nhà cung cấp DDNS cho phép một tên miền tĩnh cho IP động. Dịch vụ này khá rẻ cho các trang web lưu lượng thấp. Cách DDNS hoạt động là bạn thiết lập bộ định tuyến để cập nhật định kỳ dịch vụ DDNS giữ tên miền của bạn với IP hiện tại. Sử dụng DDNS ở cấp bộ định tuyến sẽ thuận tiện hơn so với việc có một số loại ứng dụng chạy phía máy chủ để thực hiện điều tương tự. Người dùng Internet sau đó nhập tên miền của bạn sẽ luôn được nhà cung cấp DDNS chuyển hướng đến địa chỉ IP thích hợp. DD-WRT hỗ trợ nhiều API nhà cung cấp DDNS khác nhau . DynDNS có lẽ là phổ biến nhất và Linksys và Belkin hỗ trợ API DynDNS trong phần sụn riêng của họ.


1

Trên thực tế là có thể. Và có một cách dễ dàng để tự động hóa nó.

đây là làm thế nào và một kịch bản mockup để giúp bạn bắt đầu (nó có đầy đủ chức năng)

  1. Đăng ký một tài khoản tại e ngại.org và sử dụng chúng làm máy chủ tên của bạn. Nếu bạn muốn miễn phí thì bạn phải cho phép người khác có thể (yêu cầu hoặc sử dụng tự do) bất kỳ tên miền phụ nào trên tên miền của bạn cho bất cứ điều gì họ muốn. Chọn rằng mỗi yêu cầu cần có sự chấp thuận của bạn, nghĩa là bạn sẽ không đưa ra những yêu cầu đó và không ai khác sẽ sử dụng tên miền của bạn. Hoặc chỉ cần trả 5 ^

  2. tạo tài khoản no-ip hoặc thay vì dyndns và chọn một trong những tên miền phụ miễn phí của họ cho máy chủ của bạn (vì no-ip bắt đầu thực hiện captcha hàng tháng cho người dùng miễn phí), bạn sẽ sử dụng tên miền này để so sánh với ip mà tên miền thực của bạn trỏ đến (Lưu ý , bạn chỉ có thể sử dụng ip WAN của mình nếu bạn có thể lấy nó, tôi đang đăng bài này vì một số người không thể lấy nó từ bộ định tuyến / modem của họ, v.v., bạn cũng có thể sử dụng cái gì đó như whatismyip / com / org / net. Hoặc chỉ đơn giản là chạy tập lệnh cập nhật bên dưới theo định kỳ)

  3. Tạo bash hoặc bất kỳ tập lệnh nào trông giống như thế này:

#! / bin / bash
#
#
# đừng quên thiết lập dịch vụ noip
# RIP var sẽ là IP thực của chúng tôi và CIP sẽ là IP hiện tại sợ org
#nameservers trỏ đến. 
#Also nếu bạn không xóa hoặc thay thế "ip.of.nameserver.here.if.you.want" bằng 
Máy chủ tên #actual mà bạn muốn sử dụng thay vì máy chủ mặc định. 
#Giết tao đi

RIP = `nslookup yourhost.dyndns.org ip.of.nameserver.here.if.you.want | Địa chỉ grep: | awk 'NR == 2 {in $ 2}' `
CIP = `nslookup yourdomain.com ip.of.nameserver.here.if.you.want | Địa chỉ grep: | awk 'NR == 2 {in $ 2}' `
if [$ RIP = $ CIP] # là ip của máy chủ dyndns / no-ip của bạn giống như ip miền của bạn
sau đó
echo "yay nó giống nhau" # bạn không thực sự cần điều này, nhưng chỉ để làm hỏng
khác
echo "Chúng không giống nhau, đang cập nhật ..." 
#again bạn cũng không cần dòng này, nhưng cái dưới đây sử dụng uri bạn sẽ nhận được từ
# e ngại.org mà bạn sẽ sử dụng, ví dụ như với lynx hoặc tuy nhiên bạn muốn, để cập nhật mục nhập dns của bạn lên ip hiện tại của bạn

lynx -dump "http: // freedns (dot) e ngại (dot) org / Dynamic / update.php? Your_UNIQUE_UPDATE_CODE_GOES_HERE"> / dev / null
fi

. 3. tạo công việc cron.d chạy cứ sau vài phút và thực thi tập lệnh ip.sh đã đề cập ở trên. mục crontab sẽ trông giống như thế này:

* / 10 * * * * /path/to/script/ip.sh> / dev / null 2> & 1
  1. ???
  2. Lợi nhuận! Bây giờ bạn có thể lưu trữ tên miền của mình trên ip động và bạn đã hoàn thành mọi thứ trong 5 phút. Tôi thắng.

1

Một số nhà đăng ký DNS có API cho phép bạn cập nhật bản ghi A (địa chỉ IP của bộ định tuyến) thông qua yêu cầu web.

Sau đó, bạn có thể viết một tập lệnh thu thập địa chỉ IP công cộng hiện tại của bạn và gửi nó đến nhà cung cấp DNS thông qua API và cập nhật các bản ghi DNS cần thiết để khớp với địa chỉ IP hiện tại của bạn.

Sau đó, bạn có thể lên lịch cho tập lệnh chạy định kỳ (ví dụ: một lần mỗi ngày) để duy trì thông tin.

Tôi đã viết một cái và nó có thể được sử dụng làm ví dụ, liên kết Github ở đây .


-1

Bạn có thể sử dụng một dịch vụ như Noip.com và các trang web của bạn sẽ có thể truy cập được, nhưng tôi nghĩ rằng nhện của google sẽ không thu thập dữ liệu trang web của bạn. Tôi nghĩ rằng họ sẽ thả bạn khi họ được chuyển hướng đến trang web của bạn. Tôi hy vọng tôi sai, nhưng đó là những gì tôi đã nói. Vì vậy, bạn cần mọi người tìm thấy bạn trên công cụ tìm kiếm của Google, bạn có thể không gặp may. Mọi người vẫn có thể nhìn thấy danh thiếp của bạn và đi thẳng đến bạn mặc dù.


3
Noip.com là một dịch vụ DNS động theo đề xuất của các câu trả lời khác. Googlebot sẽ thu thập dữ liệu các trang web DNS động, vì vậy câu trả lời của bạn là sai. Tôi không thấy bất cứ điều gì về một chuyển hướng trong câu hỏi, vì vậy tôi không chắc bạn đang nói gì về điều đó.
Stephen Ostermiller

1
@Kenny Ray Oxenrider, bạn đã được cung cấp thông tin không chính xác. Tôi đã sử dụng no-ip.com cho một trang web; Googlebot thu thập dữ liệu và lập chỉ mục các trang giống như các trình thu thập dữ liệu web khác như Baidu, Yandex, v.v. Địa chỉ IP của trang web sẽ được tra cứu bằng truy vấn DNS tới các máy chủ DNS của No-IP giống như bất kỳ địa chỉ IP nào của trang web khác sẽ được tìm kiếm bất kỳ máy chủ DNS nào khác. Không có chuyển hướng vì một người đang sử dụng No-IP cho dịch vụ DNS.
moonpoint

@StephenOstermiller> "Tôi không thấy gì về chuyển hướng trong câu hỏi" no-ip.com có ​​một tùy chọn gọi là chuyển hướng web cho phép tên máy chủ được chuyển hướng đến một địa chỉ URL hoặc IPv4 trên một cổng cụ thể. Điều này rất hữu ích khi ISP chặn cổng tiêu chuẩn 80.
Đánh dấu Messa

@moonpoint> "Không có chuyển hướng vì một người đang sử dụng No-IP cho dịch vụ DNS." Phụ thuộc vào việc chuyển hướng web được thiết lập hay không. Nếu nó được đặt, google thường sẽ không lập chỉ mục.
Đánh dấu Messa
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.