Próbowałem znaleźć rozwiązanie tego problemu i śledziłem wiele artykułów online. Nadal nie mogę osiągnąć celu. Oto, co chciałem otworzyć rpi.dev w przeglądarce dowolnego urządzenia podłączonego do mojej sieci LAN. Oto mój scenariusz:
Mam router wifi (router 3C)
Przypisałem statyczne adresy IP następującym urządzeniom:
Raspberry pi (web server): 192.168.31.164
Ubuntu Laptop: 192.168.31.169
android phone 1: 192.168.31.128
Inne niż statyczne urządzenia z adresem IP istnieją inne urządzenia, takie jak komputer (działający w systemie Windows 7) i inne smartfony (androidy), którym adresy IP są przydzielane dynamicznie przez router (tzn. Ich adres IP ciągle się zmienia).
Używam klucza Wi-Fi w Raspberry Pi i jestem w stanie uzyskać do niego dostęp za pośrednictwem ssh z terminala Ubuntu
Zainstalowałem serwer LAMP w Raspberry pi, dodałem niestandardową domenę rpi.dev w / etc / hosts i mogłem zobaczyć strony internetowe (zainstalowałem również wordpress na rpi.dev).
Zawartość / etc / hosts jest następująca:
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
127.0.1.1 raspberrypi
192.168.31.164 rpi.dev
Następnie w systemie Ubuntu dodałem domenę rpi.dev z adresem IP raspberry pi tj
192.168.31.164 rpi.dev
W ten sposób mogę zobaczyć stronę WordPress urządzenia Raspberry Pi rpi.dev w przeglądarce systemu Ubuntu.
Ponieważ nie możemy edytować pliku hosts w systemie Android, dopóki go nie zrootujemy, czego nie chcę robić. W takim przypadku nie mogę otworzyć domeny rpi.dev w przeglądarce smartfonów. Więc śledziłem ten artykuł, a następnie kolejny link do artykułu z pierwszego artykułu.
Wykonując powyższe 2 łącza, zainstalowałem Bind9, a zawartość następujących plików jest następująca:
/etc/bind/named.conf.local
/
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
#raspberry pi domain zone
zone "rpi.dev"{
type master;
file "/etc/bind/zones/rpi.dev.db";
};
#for reverse DNS
zone "31.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zones/rev.31.168.192.in-addr.arpa";
};
/etc/bind/zones/rpi.dev.db
$TTL 3D
@ IN SOA ns.rpi.dev. admin.rpi.dev. (
2007062001
28800
3600
604800
38400
);
rpi.dev. IN NS ns.rpi.dev.
ubuntudesktop IN A 192.168.31.169
www IN CNAME ubuntudesktop
miphone IN A 192.168.31.128
gw IN A 192.168.31.1
TXT "Network Gateway"
/etc/bind/zones/rev.31.168.192.in-addr.arpa
$TTL 3D
@ IN SOA ns.rpi.dev. admin.rpi.dev. (
2007062001
28800
604800
604800
86400
)
IN NS ns.rpi.dev.
1 IN PTR gw.rpi.dev.
169 IN PTR ubuntudesktop.rpi.dev.
129 IN PTR miphone.rpi.dev.
/etc/bind/named.conf.options
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
forwarders {
// 0.0.0.0;
202.53.9.2;
202.53.9.3;
};
//=======
// If BIND logs error messages about the root key being expired,
// you will need to update your keys. See https://www.isc.org/bind-keys
//=======
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
Gdzie 202.53.9.2, 202.53.9.3 to mój adres IP DNS usługodawcy internetowego
/etc/resolv.conf
# Generated by resolvconf
nameserver 192.168.31.1
Search rpi.dev
nameserver 192.168.31.164
po tym zrestartowałem Bind, wykonując następującą komendę w Raspberry Pi:
sudo /etc/init.d/bind9 restart
Teraz zrobiłem to w malinowym pi
dig rpi.dev
Mam następujący wynik
; <<>> DiG 9.9.5-9+deb8u13-Raspbian <<>> rpi.dev
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27640
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;rpi.dev. IN A
;; ANSWER SECTION:
rpi.dev. 30 IN A 127.0.53.53
;; Query time: 16 msec
;; SERVER: 192.168.31.1#53(192.168.31.1)
;; WHEN: Wed Oct 04 19:30:25 UTC 2017
;; MSG SIZE rcvd: 52
Potem to zrobił
nslookup gw
Mam następujący wynik
Server: 192.168.31.1
Address: 192.168.31.1#53
Non-authoritative answer:
*** Can't find gw: No answer
Następnie próbowałem otworzyć rpi.dev w moim smartfonie i otrzymałem następujące dane wyjściowe: *** Nie można uzyskać dostępu do tej witryny ”
Z pliku / etc / hosts ubuntu laptopa skomentowałem wiersz, w którym wpisałem adres IP rpi.dev, tj. # 192.168.31.164 rpi.dev , po tym wysłałem ping do rpi.dev na terminalu ubuntu i zwraca ten adres ip: * 127.0.53.53
64 bytes from 127.0.53.53: icmp_seq=1 ttl=64 time=0.014 ms
Czy brakuje mi czegoś lub muszę wykonać więcej czynności. Proszę pomóż.
rpi.dev
czy byłbyś w porządku z opcjami takimi jakrpi.local
?