Làm cách nào để thiết lập máy chủ lưu trữ bản đồ IP trên Android chưa được phân phối?


10

Tôi có một trang web đang chạy trên máy tính của mình và tôi muốn kiểm tra nó từ máy tính bảng Nexus 7 của mình. Tức là qua mạng LAN LAN cục bộ. Nếu tôi nhập địa chỉ IP mà nó kết nối, nhưng hiển thị trang web sai, vì tôi đang sử dụng lưu trữ ảo có tên.

Vì vậy, những gì tôi muốn làm là có thể nhập mysite.localvào Chrome / Firefox trên Nexus, để họ chuyển đổi nó thành 10.1.2.3(hoặc bất kể địa chỉ IP cục bộ nào), sau đó gọi 10.1.2.3máy chủ cung cấp mysite.locallàm Máy chủ để yêu cầu.

Câu hỏi của tôi: Máy tính bảng Android 4.x có /etc/hoststệp hoặc tương đương mà tôi có thể chỉnh sửa không? (Không cần phải root máy tính bảng, hoặc bất cứ điều gì tương tự.)

Trên các máy tính Linux của tôi, tôi làm điều này bằng cách thêm một mục trong /etc/hosts:

10.1.2.3  mysite.local

(Hoặc Windows\System32\drivers\etc\hoststrên máy Windows cũng làm như vậy.)

BTW, đây là một bản sao bán tự động đặt tên máy chủ cho địa chỉ IP (ví dụ / etc / hosts Equiv.?) , Nhưng câu hỏi đó là dành cho Android 2.2, trong đó rõ ràng là không thể. (Một trong những ý tưởng thay thế được đề xuất là cấu hình DNS tại bộ định tuyến cục bộ, nhưng theo như tôi có thể nói rằng bộ định tuyến của tôi không làm DNS cục bộ nên không có tùy chọn đó. Tôi có thể thiết lập máy chủ DNS của riêng mình để thực hiện việc này, nhưng tôi có thể thiết lập máy chủ DNS của riêng mình để thực hiện việc này, nhưng cảm giác như một giải pháp công việc lớn.)


Đó là một câu hỏi cho Server Fault hoặc Super User . Và bạn nên thiết lập các tên máy chủ đó với máy chủ cục bộ của mình (được trình bày bởi máy chủ DHCP của bạn dưới dạng nút DNS).
Izzy

1
@Izzy Cảm ơn Izzy, nhưng tôi biết cách định cấu hình / etc / hosts trên máy chủ. Những gì tôi không biết làm thế nào là tìm / chỉnh sửa tương đương trên máy tính bảng Android 4.x (hoặc ngay cả khi có tương đương mà không cần root máy). (Máy chủ DHCP của tôi, tức là bộ định tuyến wifi, dường như không cung cấp tùy chọn nào để thêm tên tùy chỉnh: Tôi có tùy chọn chỉ định máy chủ DNS tùy chỉnh nhưng đó là một vũng bùn mà tôi không thực sự muốn đặt tay vào. )
Darren Cook

Bạn đã nhầm tôi, Darren: Tôi không đề xuất chỉnh sửa /etc/hosts, nhưng định cấu hình "máy chủ tên" của bạn (ví dụ: DNSMasq hoặc bất cứ thứ gì bạn sử dụng). Bộ định tuyến của bạn có thể cung cấp cho bạn một nơi cho điều đó. /etc/hostscần phải được chỉnh sửa trên mỗi máy nếu không - và tệp tương ứng trên Android chỉ có thể được chỉnh sửa bằng "quyền hạn gốc" (Tôi không biết chính xác vị trí của nó ngoài đầu, nhưng nó nằm ở đâu đó trong /data/systemAFAIR). Xem: Cách chỉnh sửa tập tin etc / hosts
Izzy

Câu trả lời:


6

Bạn không thể đơn giản chỉnh sửa tệp máy chủ trên Android, vì nó nằm trên hệ thống tệp chỉ đọc : /system/etc/hosts, xem:

Các lựa chọn thay thế là:

  • sử dụng máy chủ DNS như DNSMasq trong mạng cục bộ của bạn để chăm sóc cho "tập trung" đó
  • sử dụng "quyền hạn gốc" để chỉnh sửa tệp hệ thống như được mô tả ở trên
  • cài đặt "máy chủ DNS cục bộ" trên thiết bị Android của bạn để sử dụng, ví dụ: Máy chủ DNS

Xin chào, tôi đã cố gắng sử dụng Máy chủ DNS để xử lý việc này vì tôi không có quyền truy cập root vào điện thoại của mình; Tôi đã thêm một quy tắc đơn giản để chuyển hướng tên máy chủ đến ip trong câu hỏi .. nhưng nó không hoạt động .. tôi đang làm gì sai?
George Katsanos

Máy chủ DNS có nhiệm vụ phục vụ các thiết bị khác trong mạng của bạn (như mô tả nói, bạn cũng cần phải sử dụng chuyển tiếp cổng cho điều đó). Điều đó luôn yêu cầu các thiết bị đó (bao gồm cả thiết bị Android của bạn) được cấu hình để sử dụng nó. Tôi đã không sử dụng bất kỳ máy chủ DNS nào như vậy trên các thiết bị Android của mình, vì vậy tôi đã không kiểm tra chính xác những gì cần phải thực hiện ở đây; nhưng rất có thể bạn cần điều chỉnh các mục DNS trong cài đặt mạng của mình (nhấn và giữ mục nhập của mạng WiFi, chọn "Nâng cao" và điều chỉnh mục nhập DNS đầu tiên - để lại phần thứ hai như là "sao lưu").
Izzy

@GeorgeKatsanos Bạn có thể quan tâm đến điều này: stackoverflow.com/a/14211550/1768141
Vinayak

2

Như được đề cập bởi lzzy, bạn có thể sử dụng máy chủ DNSMasq để đạt được điều này. Nhưng Chrome sử dụng quy trình phân giải DNS của riêng mình và phương pháp này có thể không hoạt động.

Để khởi động máy chủ, sử dụng lệnh sau:

sudo /usr/local/sbin/dnsmasq -d \
                             --no-hosts \
                             --no-resolv \
                             --conf-file=/dev/null \
                             --server=8.8.8.8 --server=8.8.4.4 \
                             --address=/example.com/192.168.0.101
  • sudo cần thiết để liên kết trên cổng 53
  • -d bắt đầu máy chủ trên nền trước
  • --no-hosts không sử dụng tập tin máy chủ cục bộ
  • --conf-file=/dev/null không sử dụng bất kỳ tập tin cấu hình
  • --server=8.8.8.8 --server=8.8.4.4 địa chỉ của các máy chủ ngược dòng (Google DNS trong ví dụ này)
  • --address=/example.com/192.168.0.101máy chủ để ghi đè. Bạn cần thêm máy chủ của bạn tại dòng này. Bạn cũng có thể thêm nhiều máy chủ ở đó.

Sau đó thay đổi máy chủ DNS trên thiết bị. Điều này có thể dễ dàng thực hiện bằng ứng dụng DNS Changer .

Sau các bước này, các yêu cầu đến các máy chủ này sẽ được gửi đến địa chỉ của bạn.


0

Cách đơn giản nhất để xác định máy chủ lưu trữ ánh xạ IPhoststệp vì hầu hết các trình phân giải DNS tôn trọng tệp đó . Nhưng như đã đề cập trong các câu trả lời khác, không thể chỉnh sửa /etc/hostsmà không cần root thiết bị Android. Truy cập máy chủ web có địa chỉ IP cũng sẽ không hiệu quả với bạn do lưu trữ ảo. Dưới đây là một vài tùy chọn bạn có thể thực hiện trên thiết bị chưa được phân phối:

  • Sử dụng ứng dụng VPN chặn lưu lượng DNS và tìm kiếm hoststệp tùy chỉnh trước khi thực hiện truy vấn đến máy chủ DNS ngược dòng được định cấu hình.
  • Chạy máy chủ DNS; chúng có thể được cấu hình để trả về một địa chỉ IP được xác định trước cho một tên cụ thể. Chẳng hạn, nếu sử dụng dnsmasq, hãy thêm address=/mysite.local/10.1.2.3vào dnsmasq.conf . Hoặc vào dnscrypt-proxyadd mysite.local 10.1.2.3để “che đậy-rules.txt” .
  • Định cấu hình điện thoại để sử dụng proxy hoặc VPN, sau đó thêm mục nhập 10.1.2.3 mysite.localvào hoststệp trên máy chủ proxy hoặc chạy máy chủ DNS cục bộ trên máy chủ VPN.
  • Nếu bootloader có thể mở khóa, hãy chỉnh sửa hoststập tin từ phục hồi tùy chỉnh.

Để biết thêm chi tiết, xem: Làm thế nào để luôn giải quyết một tên miền thành một IP cố định mà không cần root máy?


LIÊN QUAN:

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.