Tại sao tôi nên sử dụng FQDN thay vì địa chỉ IP của máy chủ?


29

Trong quá trình làm việc với các máy chủ, tôi đã bắt gặp các tệp cấu hình nơi bạn nên nhập địa chỉ đến một máy chủ bên ngoài. Tôi đã thấy một số sử dụng trực tiếp địa chỉ IP của máy chủ, nhưng tôi đã nghe nhiều đề xuất sử dụng tên miền đủ điều kiện tên miền (FQDN) thay thế. Tại sao tôi nên sử dụng tên máy chủ thay vì địa chỉ IP trực tiếp?

Bởi vì nếu bạn sử dụng tên máy chủ thì bạn sẽ cần một máy chủ DNS cục bộ sẽ liên kết từng tên máy chủ với một địa chỉ IP. Bất lợi giữa việc sử dụng tên máy chủ hoặc địa chỉ IP là gì?


5
nếu bạn có IP động, có thể dễ dàng hơn để thay đổi bản ghi DNS. và tại sao một máy chủ DNS cục bộ? Tại sao không làm cho tất cả các máy có IP có thể phân giải công khai? Một nhược điểm khác của IP là, ngay cả khi chúng không động, chúng có thể vẫn phụ thuộc vào vị trí thực tế, khiến việc di chuyển đến một vị trí khác khó khăn hơn. về cơ bản, có vẻ như bạn đang hỏi tại sao DNS được phát minh. Câu hỏi này đã được trả lời nhiều lần ở nơi khác.
Janus Troelsen

1
Nó luôn luôn là một khuyến nghị (ví dụ trong RFC) rằng ở cấp ứng dụng , người ta chỉ giao dịch với tên máy chủ. Tuy nhiên, một số ứng dụng thậm chí sẽ không hoạt động trừ khi có IP. Tuy nhiên, bản thân tôi có lỗi khi thường xuyên liên lạc với các thiết bị của mình bằng IP thay vì tên máy chủ - nhưng thói quen xấu đó chắc chắn sẽ kết thúc ngay khi chúng tôi chuyển hoàn toàn sang IPv6 :)
Hagen von Eitzen

Do tất nhiên, máy chủ bên ngoài sẽ bảo mật tất cả các liên lạc với SSL và chứng chỉ SSL sẽ được ký cho FQDN và ứng dụng của bạn không thể xác minh đúng máy chủ nếu bạn sử dụng địa chỉ IP. Đúng? : |
TessellatingHeckler

1
@HagenvonEitzen Chắc chắn bạn sẽ không bao giờ, loại ra ::1? :-)
CVn

Câu trả lời:


54

Sử dụng địa chỉ IP đảm bảo rằng bạn không phụ thuộc vào máy chủ DNS. Nó cũng có lợi ích ngăn chặn các cuộc tấn công thông qua giả mạo DNS.

Sử dụng FQDN thay vì địa chỉ IP có nghĩa là, nếu bạn di chuyển dịch vụ của mình sang máy chủ có địa chỉ IP khác, bạn có thể chỉ cần thay đổi bản ghi trong DNS thay vì thử và tìm mọi nơi mà địa chỉ IP được sử dụng .

Điều này đặc biệt hữu ích khi bạn có nhiều máy chủ và dịch vụ được cấu hình bởi nhiều cá nhân.


1
Đặc biệt là nếu kiến ​​thức về địa chỉ IP đó là bên ngoài, như nếu khách hàng hoặc đối tác hoặc nhà cung cấp sử dụng nó. Hãy tưởng tượng nếu thay vì stackoverflow.com, tất cả chúng ta đã đi đến một IP mà chúng ta gọi là stackoverflow.com, và sau đó họ cần thay đổi IP? Làm thế nào họ sẽ nói với mỗi người dùng có thể của trang web mà IP đã thay đổi? Do đó tên.
Brandon

@Brandon nó sẽ giống như bây giờ họ quyết định thay đổi từ stackoverflow.com thành heapunderflow.com Lợi ích ban đầu của tên miền là để con người nhớ stackoverflow.comthay vì 151.101.1.69. Tất nhiên ngày nay cũng cho phép lưu trữ ảo, các tên miền phụ liên quan đến cha mẹ của họ và các lợi ích khác phát sinh từ họ.
Ángel

2
Tôi nghĩ cốt lõi của câu trả lời này là một tổ chức sở hữu FQDN của nó; nhưng có thể không sở hữu địa chỉ IP của nó.
Pieter Geerkens

1
Hãy thử chạy HTTPS / Kerberos qua IP so với FQDN.
Aron

Đây đúng là mục đích của DNS.
Cuộc đua nhẹ nhàng với Monica

40

DNS không chỉ là FQDN = IP

Điều quan trọng về DNS là nó cung cấp nhiều hơn chỉ các bản ghi A (tên máy chủ = IP). DNS cung cấp các loại bản ghi khác nhau, chẳng hạn như MX, CNAME, TXT, v.v ... đôi khi có thể được yêu cầu bởi một số phần mềm. Nó cho phép nhiều bản ghi địa chỉ, bản ghi IPv4 + IPv6, địa chỉ động, cân bằng tải, độ phân giải dựa trên vị trí địa lý, dự phòng / dự phòng, v.v ... DNS cho bạn biết những gì (www.google.com là dịch vụ web của google, 172.217 .4.110? Cái gì vậy?) Nó cho phép bạn thay đổi các cài đặt / bản ghi này và được khách hàng chọn chúng mà không thực hiện thay đổi trên tất cả các máy khách. DNS có thể làm những việc phức tạp.

Thường có một lợi thế rõ ràng khi sử dụng DNS qua địa chỉ IP trực tiếp.

FQDN có thể là một yêu cầu

Một số thứ như máy chủ web sử dụng lưu trữ ảo dựa trên tên hoặc bộ cân bằng tải, v.v ... hoàn toàn yêu cầu bạn giải quyết chúng thông qua FQDN hoặc tên máy chủ. Họ xác định cách đáp ứng yêu cầu của bạn dựa trên FQDN mà bạn đang kết nối. Kết nối qua IP có thể không hoạt động.

Chứng chỉ SSL được cấp dựa trên tên miền, do đó bạn không thể sử dụng một số dịch vụ hỗ trợ SSL (đúng cách) mà không có DNS.

Đây là một truy vấn đào cho tên miền google.com để cung cấp cho bạn cái nhìn tổng quát về sự phức tạp của DNS

google.com. 299 TRONG MỘT 172.217.0.174
google.com. 299 IN AAAA 2607: f8b0: 400b: 807 :: 200e
google.com. 599 IN MX 10 aspmx.l.google.com.
google.com. 599 IN MX 40 alt3.aspmx.l.google.com.
google.com. 59 IN SOA ns2.google.com. dns-admin.google.com. 126990955 900 900 1800 60
google.com. 599 IN MX 30 alt2.aspmx.l.google.com.
google.com. 21599 IN NS ns2.google.com.
google.com. 599 IN MX 20 alt1.aspmx.l.google.com.
google.com. 599 IN MX 50 alt4.aspmx.l.google.com.
google.com. 21599 IN NS ns1.google.com.
google.com. 3599 IN TXT "v = spf1 bao gồm: _spf.google.com ~ tất cả"
google.com. 21599 IN CAA 0 phát hành "symantec.com"
google.com. 21599 IN NS ns3.google.com.
google.com. 21599 IN NS ns4.google.com.

Yahoo trả lời bằng 3 địa chỉ IP

$ máy chủ -ta yahoo.ca
yahoo.ca có địa chỉ 77.238.184.24
yahoo.ca có địa chỉ 74.6.50.24
yahoo.ca có địa chỉ 98.137.236.24

Lợi thế của việc sử dụng địa chỉ IP

Đối với tôi thường là khi DNS có thể gây cản trở bằng cách nào đó hoặc không có sẵn. Nói chung, tôi sẽ sử dụng DNS cho hầu hết mọi thứ.

Một ví dụ về địa chỉ IP có thể tốt hơn khi bạn có hai máy có liên kết trực tiếp giữa chúng (không có công tắc) với địa chỉ mạng riêng (giả sử 192.168.1.1 và 192.168.1.2) và chúng đang sử dụng nó để liên lạc có tính sẵn sàng cao hoặc DRBD hoặc một dịch vụ rất cụ thể khác. Trong trường hợp này, thiết lập mọi thứ trong DNS có thể không có ý nghĩa gì. Điều đó là không cần thiết, sẽ thêm sự phức tạp, các vấn đề hiệu suất và có thể đưa ra một điểm thất bại.

Một ví dụ khác là định tuyến. Bảng định tuyến ghi lại địa chỉ IP vì nhiều lý do.

Một cái khác là tham chiếu các máy chủ tên (như trong /etc/resolv.conf). Vì không có máy chủ tên, bạn không thể giải quyết bất cứ điều gì.


Đây là một câu trả lời tuyệt vời, nhưng có lẽ cũng nên nói điều gì đó về các dịch vụ vhosted; IP⟷FQDN là ánh xạ nhiều-nhiều, không nhiều-một.
lông mịn

Cảm ơn, và đồng ý. DNS rất hữu ích cho lưu trữ ảo dựa trên tên nếu đó là những gì bạn đang đề cập đến.
Ryan Babchishin

Vâng, đó là những gì tôi đã đề cập đến.
lông mịn

Câu trả lời tuyệt vời thực sự được DNS đúng - đánh dấu trang để tham khảo trong tương lai. Một điều nhỏ nhặt tôi có là nhận xét của bạn "Bảng định tuyến ghi lại địa chỉ IP vì nhiều lý do." Các lý do khác nhau mà bạn đề cập đến là gì? Các bảng định tuyến không có lựa chọn nào khác ngoài sử dụng IP vì việc định tuyến xảy ra ở lớp internet, trong khi DNS sử dụng lớp ứng dụng và do đó nhất thiết phải phụ thuộc vào định tuyến.
vườn

@gardenhead Cảm ơn. Điều đó đúng về định tuyến, tôi chỉ không muốn tham gia vào nó. Tha thứ cho sự lựa chọn của tôi từ.
Ryan Babchishin
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.