Bí danh cho IP trong mạng LAN gia đình


23

Có thể gán bí danh chuỗi có thể đọc được cho một địa chỉ IP như 192.168.1.1 không? Có lẽ một cái gì đó như thế này:

192.168.1.1 -> router.home

hoặc là

192.168.1.22 -> printer.home

Không cần cho router.home có thể truy cập từ web bên ngoài, nhưng chỉ trong mạng LAN. Trong thực tế, nó không thể truy cập từ bên ngoài web.

Tôi đoán mục tiêu là có một máy chủ DNS cục bộ, đáp ứng địa chỉ của bộ định tuyến. Bất kỳ ý tưởng làm thế nào để tạo ra một bí danh như vậy?

EDIT: Câu trả lời của Yamakaja hoạt động rất tốt, nhưng nó yêu cầu thay đổi tệp máy chủ trên mọi máy tính trong mạng LAN. Thay vào đó, việc tra cứu DNS cục bộ có thể được thực hiện tại bộ định tuyến gia đình không? Điều đó sẽ bỏ qua rất nhiều công việc thủ công.


2
Lưu ý rằng một số bộ định tuyến tự thực hiện việc này, ví dụ: nếu bạn sử dụng bộ định tuyến của Asus và bạn truy cập vào bộ định tuyến.asus.com, nó sẽ mở trang cấu hình của bộ định tuyến. Các bộ định tuyến khác cũng có "thủ thuật" tương tự để làm điều tương tự.
acejavelin

Không, tôi không sử dụng bộ định tuyến asus. Câu hỏi thực sự chung chung hơn một chút ... Không chỉ tôi muốn truy cập bộ định tuyến mà không có IP, mà các thiết bị khác cũng được gắn vào mạng. Tôi sẽ thêm một chỉnh sửa.
sanjihan

2
Quan điểm của tôi là một số bộ định tuyến có khả năng này được tích hợp vì chúng thường hoạt động như một máy chủ bộ đệm DNS, vì bạn không nói rõ bộ định tuyến nào bạn đang sử dụng nên tôi để nó mở cho "các bộ định tuyến khác cũng có thủ thuật tương tự"
acejavelin

1
vâng vâng, tôi hiểu điều đó và cảm ơn bạn! bộ định tuyến chỉ là một ví dụ. hãy tưởng tượng máy in đang chạy hoặc PI mâm xôi hoặc hệ thống thông gió điều khiển internet trên mạng LAN.
sanjihan

@sanjihan Tôi nghĩ bạn sẽ cần tiết lộ kiểu dáng và kiểu của bộ định tuyến của mình hoặc nói cách khác bạn đang sử dụng DNS cho ai đó để cung cấp cho bạn hướng dẫn thêm về cấu hình bạn có thể hoàn thành cho tác vụ này. Vì vậy, để tóm tắt, 1.)tạo và mô hình thiết bị bộ định tuyến của bạn hoặc 2.)những gì bạn đang sử dụng chính xác cho DNS (ví dụ: DNS DNS, chức năng bộ định tuyến tích hợp, v.v.)
Pimp Juice IT

Câu trả lời:


18

Ngoài câu trả lời của Yamakaja , đây là cách bạn thiết lập máy chủ DNS cục bộ.

Trước tiên, bạn cần một máy tính bạn muốn chạy máy chủ DNS. Đây có thể là một trong những máy tính bình thường của bạn (nếu chúng chạy Linux và hầu hết thời gian) hoặc ví dụ như Raspberry Pi . Ưu điểm của một thiết bị như vậy là nó rẻ, không cần nhiều năng lượng và nó nhỏ.

Thiết lập máy chủ DNS

Tôi đã quyết định thiết lập máy chủ DNS trên Raspberry Pi dnsmasq, đây là một công cụ máy chủ DNS nhỏ, lý tưởng để sử dụng trong các mạng nhỏ. Bạn cũng có thể sử dụng bind, công cụ DNS tiêu chuẩn thực tế, nhưng điều này có lẽ hơi quá mạnh đối với một mạng gia đình nhỏ.

Cài đặt dnsmasqbằng trình quản lý gói, trên các hệ thống dựa trên Debian (ví dụ: Raspbian), lệnh sẽ là

sudo apt-get install dnsmasq

Bây giờ tôi giả sử bạn đã thiết lập phân bổ địa chỉ IP tĩnh (tức là địa chỉ IP bạn đề cập trong câu hỏi của bạn không thay đổi). Nếu bạn chưa có, dnsmasqcũng có thể được sử dụng như một máy chủ DHCP, nhưng tôi chưa làm điều đó.

dnsmasqlấy tên máy chủ từ /etc/hosts. Chỉnh sửa tập tin này như sau:

# IP address    Host name
192.168.1.1     router
192.168.1.22    printer

Tên máy chủ routerhiện được gán cho 192.168.1.1, printerđể 192.168.1.22.

Bây giờ, bạn đã thiết lập máy chủ DNS của riêng mình, nhưng các máy tính trong mạng của bạn chưa sử dụng. Để làm cho họ sử dụng máy chủ này, bạn phải thực hiện một bước chuẩn bị:

Tìm địa chỉ IP của thiết bị dnsmasq của bạn bằng cách sử dụng ip address(giả sử nó 192.168.1.42). Mở /etc/dnsmasq.confvà nối các dòng sau:

listen-address=127.0.0.1
listen-address=192.168.1.42

Điều này cho biết dnsmasqnó nên lắng nghe yêu cầu khi chúng được gửi đến 127.0.0.1(tức là khi chính nó muốn sử dụng máy chủ DNS của nó) hoặc 192.168.1.42(tức là khi các máy tính khác muốn sử dụng máy chủ DNS của nó).

Sử dụng máy chủ DNS

Bạn phải nói với mỗi máy tính trong mạng của mình, nó cũng nên (sử dụng) 192.168.1.42làm máy chủ DNS. Cách bạn làm điều này phụ thuộc vào hệ điều hành của bạn. Bạn có thể dễ dàng tìm kiếm hệ thống hoạt động được chỉ định này trên internet (chỉ cần tìm kiếm "Thay đổi máy chủ DNS trên <OS>" hoặc đại loại như thế).

Đối với Windows 7, bạn có thể làm theo hướng dẫn này: https://www.opennicproject.org/configure-your-dns/how-to-change-dns-servers-in-windows-7/ .

Trên hệ thống của tôi (Arch Linux), tôi đã phải nối dòng sau vào /etc/resolvconf.conf

name_servers=192.168.1.42

Lưu ý tệp bạn phải sử dụng tùy thuộc vào cấu hình trình quản lý mạng của bạn. Thêm IP máy chủ DNS trên mỗi máy tính bạn muốn sử dụng DNS của mình.

Bạn có thể sẽ phải khởi động lại thiết bị nếu nó không hoạt động ngay lập tức.

Thế là xong, bạn đã hoàn thành. Bây giờ bạn có thể truy cập tất cả các thiết bị bạn đã nhập vào /etc/hostsmáy chủ dnsmasq chỉ bằng cách sử dụng tên máy chủ bạn đã đặt.

(Tùy chọn) Kiểm tra chức năng

Nếu bạn muốn kiểm tra xem độ phân giải DNS có hoạt động chính xác hay không, hãy cài đặt dnsutils(Linux) trên hệ thống nên sử dụng máy chủ của bạn. Sau đó thực hiện

$ dig router

Điều này sẽ trả lại một cái gì đó như thế này

; <<>> DiG 9.10.4-P1 <<>> router
;; global options: +cmd
;; Got answer:
...

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;router.                        IN      A

;; ANSWER SECTION:
router.                 0       IN      A       192.168.1.1

;; Query time: 14 msec
;; SERVER: 192.168.1.42#53(192.168.1.42)
;; WHEN: So Jun 26 10:43:18 CEST 2016
;; MSG SIZE  rcvd: 50

Nó cho bạn biết tên máy chủ bạn muốn giải quyết, địa chỉ IP mà nó đã được phân giải và máy chủ DNS được sử dụng. Như bạn thấy, mọi thứ đều ổn.

(Tùy chọn) Chỉ định TLD

Nếu bạn muốn truy cập các thiết bị không chỉ bằng routerhoặc printermà với router.homeprinter.home, hãy thêm các dòng sau vào /etc/dnsmasq.conf:

expand-hosts # Tells dnsmasq to add a TLD to each host name
domain=home # The TLD

Bạn có thể cần phải khởi động lại một lần nữa.

Nguồn / đọc thêm

Về dnsmasq:

Giới thiệu bind(nếu bạn quan tâm đến nó):


11

Có, và có hai tùy chọn (hoặc nhiều hơn?):


Chỉnh sửa tập tin máy chủ của bạn (một cách lười biếng)

Tùy thuộc vào hệ điều hành của bạn, bạn sẽ phải thêm một mục vào tệp "máy chủ" của mình. Bạn có thể tìm thấy nó /etc/hoststrên hầu hết các Unix và trong C:\Windows\system32\drivers\etc\hostsWindows.

Để thêm mục nhập của bạn, hãy đi đến cuối tệp và thêm một hàng ở định dạng này:

<IP>       <the hostname to assign>

ví dụ.

192.168.1.1      router

(Lưu ý, khoảng trắng giữa ip và tên máy chủ không thành vấn đề. Nhưng sẽ tốt hơn nếu khớp với các mục khác. Bạn có thể sử dụng tab hoặc dấu cách)

Sau đó, bạn có thể truy cập bộ định tuyến của mình trong trình duyệt bằng cách truy cập

http://router/

hoặc là

router/

Máy chủ DNS cục bộ

Vui lòng xem câu trả lời của TuringTux để biết thêm thông tin


Cảm ơn người đàn ông! Điều này làm việc tuyệt vời cho một máy tính duy nhất. Có thể mở rộng điều này cho tất cả các máy tính trong mạng LAN mà không cần thay đổi thủ công tệp máy chủ trong mỗi máy tính không?
sanjihan

@sanjihan Thật không dễ dàng, ví dụ bạn có thể mua tên miền của riêng mình với giá dưới 1 đô la trên namecheap và sử dụng nó để trỏ đến nội dung của bạn. Ví dụ: bạn có thể thiết lập bộ định tuyến. <Yourdomain>. <Tld> để trỏ đến 192.168.1.1 Nhưng điều đó sẽ làm cho tên của bạn dài hơn. Ngoài ra, vui lòng đánh dấu câu trả lời của tôi là được chấp nhận để những người dùng khác biết rằng câu hỏi này đã được trả lời.
Yamakaja

Bạn chỉ có thể sử dụng tên PC nếu chúng là một phần của cùng một nhóm làm việc?
jiggunjer

@jiggunjer tôi thực sự không biết. Tôi không quen thuộc với Windows
Yamakaja

2

Tôi muốn cập nhật câu trả lời tuyệt vời ở trên:

Bạn có thể muốn xem xét bộ định tuyến của mình và kiểm tra xem nó có hỗ trợ nhập DNS thủ công không.

Nếu vậy, bạn chỉ có thể thêm địa 192.168.1.22chỉ địa phương của bạn trên đó là printer.home. Nếu không, bạn bị giới hạn với chỉnh sửa tệp máy chủ cục bộ hoặc thiết lập máy chủ DNS của riêng bạn, tôi sợ.

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.