Bạn có thể lưu trữ một trang web trên một hệ thống gia đình, nếu bạn muốn. Có một cảnh báo, mặc dù. Một số Nhà cung cấp dịch vụ Internet (ISP) không cho phép khách hàng của họ lưu trữ máy chủ của riêng họ, trong khi những người khác sẽ cho phép bạn làm như vậy. Một ISP không cho phép người dùng gia đình lưu trữ máy chủ của riêng họ có thể chặn lưu lượng truy cập trên các cổng thường được sử dụng bởi các máy chủ. Ví dụ, nó có thể ngăn ai đó chạy máy chủ thư của mình bằng cách chặn các kết nối từ Internet đến cổng 25 trên địa chỉ IP mà nó gán cho người dùng gia đình. Tương tự, nó có thể ngăn ai đó lưu trữ máy chủ web của riêng mình bằng cách chặn cổng mặc định được sử dụng cho HTTP , cổng 80 và cổng mặc định được sử dụng cho HTTPS, cổng 443. Ai đó có thể phá vỡ một khối như vậy bằng cách chạy một máy chủ web trên một cổng không chuẩn. Ví dụ: nếu máy chủ web được định cấu hình để nghe các kết nối HTTP trên cổng 7080, nếu bạn có thể cung cấp số cổng đó cho mọi người có thể truy cập trang web của bạn, họ vẫn có thể truy cập vào máy chủ. Ví dụ: thay vì sử dụng http://www.example.com/sompage.html hoặc http://10.0.0.5/somepage.html , khách truy cập vào trang web có thể sử dụng http://www.example.com:7080/ somepage.html hoặc http://10.0.0.5/sompage.html . Mặc dù lưu lượng truy cập có thể bị chặn bởi một ISP.
Giải pháp đó có thể hiệu quả, nếu bạn mong muốn trang web của mình chỉ được một vài người bạn ghé thăm, nhưng có thể có vấn đề hơn nếu bạn hy vọng có khán giả Internet trên toàn thế giới cho trang web của mình, vì hầu hết mọi người không quen với việc bao gồm số cổng khi truy cập một trang web. Mặc dù, nếu bạn đang liên kết đến trang web của mình từ các trang web khác, miễn là số cổng được bao gồm, liên kết sẽ hoạt động.
Nhưng, giả sử ISP không ngăn bạn lưu trữ máy chủ web của riêng bạn. Bạn sẽ cần định cấu hình bộ định tuyến của mình để chuyển tiếp lưu lượng truy cập cho cổng HTTP mặc định và có thể là HTTPS, nếu bạn cũng sẽ sử dụng giao thức đó, đến địa chỉ IP riêng bên trong của máy chủ web trên Mạng cục bộ (LAN) . Điều này là cần thiết bởi vì hầu hết người dùng gia đình đều có bộ định tuyến thực hiện Dịch địa chỉ mạng để liên lạc giữa các hệ thống phía sau bộ định tuyến ở phía mạng LAN và các hệ thống ở bên ngoài, mặt Internet, của bộ định tuyến, tức là Mạng diện rộng (WAN ) . Tức là, họ có một địa chỉ IP công cộng bên ngoài cho bộ định tuyến, nhưng có thể có nhiều địa chỉ IP riêngcho các hệ thống phía sau bộ định tuyến. Ví dụ: bạn có thể có một máy tính xách tay có địa chỉ 192.168.0.4 và hệ thống máy tính để bàn có địa chỉ IP 192.168.0.5 phía sau bộ định tuyến. Những địa chỉ IP riêng đó không được định tuyến qua Internet. Một bộ định tuyến gia đình thường sẽ thực hiện NAT để cho phép các hệ thống bên ngoài chỉ nhìn thấy một địa chỉ IP công cộng giao tiếp với các hệ thống phía sau bộ định tuyến có địa chỉ IP riêng.
Hầu hết các bộ định tuyến gia đình cung cấp khả năng thực hiện dịch địa chỉ mạng và dịch địa chỉ cổng và nó thường khá dễ cài đặt, bạn chỉ cần biết rằng bạn phải làm điều đó. Một số bộ định tuyến có thể có cài đặt khu vực phi quân sự (DMZ) cho phép bạn chỉ định rằng mọi kết nối có nguồn gốc từ bên ngoài bộ định tuyến sẽ đi đến một hệ thống cụ thể ở bên trong bộ định tuyến. Nếu bạn muốn máy chủ gia đình của mình có thể truy cập thông qua NAT / PAT, bạn có thể sẽ cần gán cho nó một địa chỉ IP tĩnh thay vì địa chỉ có thể thay đổi vì được gán qua Giao thức cấu hình máy chủ động (DHCP) , vì vậy bộ định tuyến luôn có thể định tuyến kết nối đến hệ thống bên phải.
Ngoài địa chỉ IP của các hệ thống ở phía bên trong bộ định tuyến của bạn có thể thay đổi, nếu bạn đang sử dụng kết nối mạng gia đình, ISP của bạn cũng có thể chỉ định địa chỉ IP bên ngoài của bộ định tuyến qua DHCP. Giả sử nó là xxx.xxx.10.250. Ngày mai có thể là xxx.xxx.10.251. Nó phụ thuộc vào "thời gian thuê" mà ISP sử dụng để gán địa chỉ IP qua DHCP cho khách hàng của mình. Thời gian thuê có thể là vài giờ, vài ngày, một tháng, v.v. Vì vậy, nếu bạn nói với mọi người rằng máy chủ web của bạn có thể truy cập được tại xxx.xxx.10.250, bất cứ khi nào nó thay đổi, bạn sẽ cần cho họ biết địa chỉ mới. Mặc dù, đối với một số hệ thống, mặc dù ISP của bạn có thể không cung cấp cho bạn địa chỉ IP tĩnh, nhưng thay vào đó cung cấp địa chỉ động, nó có thể giữ nguyên miễn là bạn không thay thế bộ định tuyến. Ví dụ, đối với dịch vụ Internet tại nhà của tôi, tôi không 'Địa chỉ điều khiển truy cập phương tiện truyền thông từ một bộ định tuyến mới.
Ngay cả khi địa chỉ IP của bạn thay đổi thường xuyên, bạn vẫn có thể mua địa chỉ IP tĩnh từ ISP. Một số người sẽ bán một địa chỉ IP tĩnh cho người dùng gia đình với một khoản phí hàng tháng, trong khi nhiều người thì không.
Nhưng một giải pháp tôi sử dụng khi cần kết nối với hệ thống của người dùng gia đình để khắc phục sự cố hoặc thiết lập máy chủ tại nhà là sử dụng Hệ thống tên miền động . Điều đó cho phép bạn truy cập máy chủ tại nhà bằng tên miền đủ điều kiện (FQDN) , ví dụ martijn.example.com, ngay cả khi địa chỉ IP bên ngoài của bộ định tuyến thay đổi. Tôi sử dụng No-IP.com , nhưng cũng có các dịch vụ DDNS khác. Cách thức hoạt động của DDNS là bạn cài đặt phần mềm trên một hệ thống ở bên trong, mạng LAN của bộ định tuyến giao tiếp định kỳ với hệ thống nhà cung cấp dịch vụ DDNS, để nhà cung cấp DDNS biết địa chỉ IP bên ngoài hiện tại mà hệ thống đang liên lạc. . Nhà cung cấp DDNS sau đó cập nhật Hệ thống tên miền (DNS)các máy chủ, là các máy chủ dịch FQDN, chẳng hạn như martijn.example.com, sang địa chỉ IP, để phản ánh địa chỉ IP bên ngoài hiện tại cho bộ định tuyến của bạn. Vì vậy, bất cứ ai đưa martijn.example.com vào trình duyệt của cô sẽ được chuyển đến địa chỉ IP chính xác. Một số bộ định tuyến có tùy chọn cấu hình cho phép bạn chỉ định nhà cung cấp dịch vụ DDNS, do đó bạn thậm chí không cần phải cài đặt bất kỳ phần mềm nào trên hệ thống gia đình để nó hoạt động; bạn chỉ cần có một tài khoản với nhà cung cấp DDNS.
Các nhà cung cấp DDNS sẽ tính phí cho bạn để sử dụng tên miền của riêng bạn, ví dụ martijn.com, nếu bạn muốn mua tên miền của riêng mình. Nhưng bạn thậm chí có thể sử dụng dịch vụ DDNS miễn phí, ví dụ: No-IP cung cấp dịch vụ miễn phí , nếu bạn sẵn sàng sử dụng tên miền do nhà cung cấp DDNS cung cấp. Ví dụ: nếu nhà cung cấp sở hữu example.com, bạn có thể sử dụng martijn.example.com miễn phí, mặc dù bạn sẽ phải trả tiền cho martijn.com. Tức là, bạn có thể chỉ định một tên máy chủ cụ thể, ví dụ, martijn, để sử dụng với một trong các tên miền của họ.
Tôi đã sử dụng một cấu hình như vậy cho một trang web tại nhà trong nhiều năm. Nếu bạn có kết nối Internet khá đáng tin cậy và ISP của bạn không chặn truy cập vào các máy chủ tại nhà, thì nó thực sự có thể hoạt động khá tốt đối với các trang web có lưu lượng truy cập thấp. Ví dụ: nếu bạn không mong muốn có hơn vài trăm khách truy cập vào trang web của mình mỗi ngày và chưa bão hòa băng thông có sẵn của bạn. Nhưng có những cân nhắc bạn cần biết, ví dụ, những điều tôi đã đề cập ở trên, khi thiết lập một máy chủ tại nhà có thể khiến một số người khuyên bạn nên sử dụng dịch vụ lưu trữ.
Mặc dù cấu hình như vậy thậm chí có thể được sử dụng cho một doanh nghiệp nhỏ hoặc tại nhà, tôi sẽ không đề xuất nó cho một doanh nghiệp nhỏ hoặc tại nhà nếu việc truy cập vào trang web của bạn rất quan trọng, nếu địa chỉ IP bên ngoài của bạn có thể thay đổi thường xuyên, kể từ khi ai đó truy cập trang web của bạn, hệ thống của họ sẽ lưu địa chỉ IP của bạn để lần sau họ truy cập trang web, hệ thống sẽ không phải tìm lại địa chỉ IP đi cùng với tên đó. Có một thời gian để sống (TTL)giá trị cho các mục DNS được lưu trong bộ nhớ cache như vậy, vì vậy chúng sẽ hết hạn và hệ thống sẽ tìm lại địa chỉ IP, nhưng chúng có thể ở lại trên hệ thống trong nhiều phút hoặc thậm chí nhiều giờ. Và các máy chủ DNS khác cũng lưu các mục lưu trữ. Ví dụ: giả sử Mary là một khách hàng của Comcast có hệ thống kết nối với martijn.example.com. Hệ thống của cô có thể truy vấn các máy chủ DNS Comcast để lấy địa chỉ IP cho trang web. Vì vậy, bây giờ các máy chủ Comcast biết địa chỉ IP đi cùng với FQDN. Một khách hàng khác của Comcast, Bill, cũng muốn ghé thăm trang web của bạn. Anh ấy chưa bao giờ truy cập trang web của bạn trước đó, vì vậy hệ thống của anh ấy đã không lưu bản dịch giữa martijn.example.com và địa chỉ IP của nó, nhưng khi hệ thống của anh ấy truy vấn máy chủ Comcast DNS, nếu máy chủ đó đã biết địa chỉ được liên kết với FQDN, nó sẽ cung cấp câu trả lời từ bộ đệm của nó.
Vì vậy, nếu địa chỉ IP của bạn thay đổi, mặc dù máy chủ hoặc bộ định tuyến của bạn có thể cập nhật máy chủ DNS của nhà cung cấp DDNS trong vòng một phút, những người khác vẫn có thể nhận được địa chỉ IP cũ và do đó trang web của bạn không thể truy cập được cho đến khi hệ thống hoặc máy chủ DNS của ISP của họ nhận được địa chỉ IP mới, hiện tại. Do bộ nhớ đệm và tùy thuộc vào cài đặt TTL, có thể một số hệ thống vẫn có thể cố gắng kết nối với địa chỉ IP cũ nhiều giờ sau hoặc thậm chí có thể vào ngày hôm sau. Đó có thể không phải là vấn đề nghiêm trọng nếu bạn chỉ muốn làm cho trang web của bạn có thể truy cập được cho gia đình và bạn bè, nhưng nếu bạn đang điều hành một doanh nghiệp, đó có thể là một vấn đề không thể chấp nhận được.
Cập nhật để bình luận địa chỉ:
Khi bạn mua một tên miền từ một công ty đăng ký tên miền , bạn thường có tùy chọn chỉ định địa chỉ IP hoặc địa chỉ cho các hệ thống có thể truy cập thông qua tên miền tại các địa chỉ đó hoặc bạn có thể tạm thời "đỗ" tên, vì vậy nó chỉ ra cho các hệ thống thuộc về cơ quan đăng ký. Khi bạn sẵn sàng chỉ định địa chỉ IP của riêng mình, các nhà đăng ký thường cung cấp dịch vụ DNS cho phép bạn sửa đổi địa chỉ IP được liên kết với tên miền bất cứ khi nào bạn muốn. Nhiều người cũng cho phép bạn, thông qua dịch vụ DNS của họ để điều chỉnh giá trị TTL, tức là lượng thời gian mà hệ thống nên lưu trữ địa chỉ IP đi cùng với FQDN. Vì vậy, nếu bạn nghĩ rằng bạn có thể cần phải thay đổi địa chỉ IP thường xuyên, bạn sẽ chỉ định một TTL ngắn hơn. Nhà đăng ký có thể có một mức tối thiểu TTL mà bạn có thể chỉ định, ví dụ: 5 phút hoặc 30 phút. Giá trị thường được chỉ định bằng giây, do đó, chỉ số TTL trong 5 phút sẽ xuất hiện là 300.
Vì vậy, nếu bạn đang sử dụng dịch vụ DNS của nhà đăng ký, bạn sẽ cần đăng nhập vào tài khoản của mình với nhà đăng ký và thay đổi địa chỉ IP hoặc địa chỉ được liên kết với tên miền của bạn theo cách thủ công mỗi khi có thay đổi. Hoặc, thay vào đó, bạn có thể sử dụng nhà cung cấp dịch vụ DDNS để việc thay đổi bản dịch từ FQDN sang địa chỉ IP diễn ra tự động. Bạn có thể mua tên miền thông qua nhà cung cấp dịch vụ DDNS và do đó sử dụng máy chủ DNS của họ theo mặc định hoặc mua tên miền từ nhà đăng ký khác và chỉ định địa chỉ IP cho máy chủ tên nhà cung cấp DDNS thông qua trang cấu hình cho trang web của bạn do tên miền cung cấp đăng ký tên
Một tùy chọn khác là chạy máy chủ DNS của riêng bạn. Khi bạn mua một tên miền, bạn có thể chỉ định các máy chủ tên nên được sử dụng với nó, hoặc máy chủ tên của nhà đăng ký hoặc một số máy chủ tên khác. Ví dụ: bạn có thể có cùng một hệ thống là máy chủ web là máy chủ DNS. Bạn sẽ phải đảm bảo rằng máy chủ có thể truy cập được trên cổng 53, là cổng mặc định cho DNS, cho các giao thức UDP và TCP IP. Sau đó, bạn có thể tạo tập lệnh / chương trình trên máy chủ của mình để kiểm tra định kỳ để xem địa chỉ IP bên ngoài nào được gán cho bộ định tuyến của bạn và cập nhật tệp vùngcho tên miền của bạn trên máy chủ DNS của bạn. Mặc dù vậy, việc thiết lập máy chủ DNS phức tạp hơn nhiều so với việc dựa vào nhà cung cấp DDNS. Bạn có thể tìm thấy các hướng dẫn để thiết lập máy chủ DNS trực tuyến, nếu bạn muốn theo đuổi tuyến đường phức tạp hơn đó. BIND thường được sử dụng cho dịch vụ DNS trên các hệ thống Linux. Các phiên bản máy chủ Windows của Windows, ví dụ: Windows Server 2012 có dịch vụ DNS do Microsoft cung cấpcó thể được sử dụng, là tốt. Tuy nhiên, tôi khuyên bạn nên bắt đầu với dịch vụ DNS của nhà đăng ký, thường miễn phí khi bạn đã mua một tên miền từ nhà đăng ký, ngay cả khi bạn nghĩ rằng bạn có thể muốn bắt đầu con đường khó khăn hơn khi chạy máy chủ DNS của riêng bạn. Trừ khi ai đó muốn tìm hiểu cách thức nền tảng của Internet, chẳng hạn như máy chủ DNS hoạt động, gắn bó với máy chủ DNS của nhà cung cấp dịch vụ đăng ký hoặc DDNS có thể là khóa học tốt nhất cho hầu hết mọi người. Bạn cũng có thể nhận dịch vụ DNS thông qua các công ty chuyên về dịch vụ DNS, chẳng hạn như OpenDNS .
Mặc dù vậy, hãy nhớ rằng ngay cả khi bạn chỉ định một giá trị TTL ngắn và có các cập nhật tự động, vẫn có khả năng có độ trễ lớn hơn so với TTL giữa thời gian bạn nhận được địa chỉ IP mới và thời gian tất cả các hệ thống trên Internet ngừng sử dụng địa chỉ IP cũ và sử dụng địa chỉ mới. Ví dụ: xem bài viết của GoDaddy, Yếu tố nào ảnh hưởng đến thời gian tuyên truyền DNS? (GoDaddy là công ty đăng ký tên miền), điều này giải thích tại sao có thể mất tới 48 giờ trước khi địa chỉ mới có sẵn cho tất cả các hệ thống trên Internet. Ví dụ, bài viết nêu rõ "Một số ISP bỏ qua cài đặt TTL và chỉ cập nhật các bản ghi được lưu trong bộ nhớ cache của họ sau mỗi hai đến ba ngày."