-
Notifications
You must be signed in to change notification settings - Fork 10
Łączenie się z maszyną developerską spoza maszyny macierzystej (WiP)
W czasie pracy nad projektem może zajść potrzeba wyświetlenia strony na urządzeniu mobilnym. Co prawda większość popularnych przeglądarek oferuje responsive design mode – możliwość zasymulowania widoku strony tak jak gdyby wyświetlana była na urządzeniu mobilnym, ale z różnych przyczyn może on nie być wystarczający. W takiej sytuacji można połączyć się z serwerem developerskim z dowolnego urządzenia w naszej sieci lokalnej.
Na wielu urządzaniach (zwłaszcza działających na Ubuntu lub Windowsie), może okazać się, że żadna dodatkowa konfiguracja nie jest potrzebna. Możemy wówczas połączyć się z serwerem deweloperskim, wpisując w pole adresu przeglądarki np. 192.168.0.5:8000
, gdzie 192.168.0.5
to przykładowy adres maszyny macierzystej a :8000
to port, na którym działa serwer. Zamiast adresu IP maszyny, możemy podać jej hostname – np. ubuntu:8000
.
Na systemach Linux adres IP urządzenia i hostname można sprawdzić za pomocą następujących poleceń:
$ ip adress
$ hostnamectl hostname
Natomiast na systemach Windows za pomocą poleceń ipconfig
i hostname
.
Jeśli po wykonaniu powyższych instrukcji nie możemy połączyć się z serwerem, prawdopodobnie oznacza to, że nasz firewall blokuje to połączenie. W zależności od wykorzystywanego firewalla niezbędne będzie wykonanie innych poleceń, natomiast my ograniczymy się do programu iptables
, który służy do konfiguracji zasad filtrowania pakietów firewalla wbudowanego w jądro Linuxa oraz do ufw
, który jest prostszym frontendem dla iptabels
.
Możemy sprawadzić czy nasz system korzysta z ufw
za pomocą polecenia:
# ufw status
Jeśli nasz system nie korzysta z ufw
, nie musimy go instalować lub włączać. Możemy skorzystać z podstawowego narzędzia, jakim jest iptabels
.
W celu dodania zasady, która umożliwi konkretnemu urządzeniu łącznie się z portem 8000 maszyn macierzystej poprzez TCP, należy wykonać polecenie:
# iptables -A INPUT -p tcp --dport 8000 -s a.b.c.d -j ACCEPT
gdzie a.b.c.d
to adres urządzenia, z którego chcemy się połączyć (np. 192.168.0.6
). Możemy również pozwolić na połączenia z dowolnego urządzenia w sieci lokalnej. W tym celu jako adres należy podać adres podsieci np. 192.168.0.0/24
.
W celu usunięcia dodanej w ten sposób zasady filtrowania korzystamy z podobnego polecania, jedyna zmiana to -D
(delete) zamiast -A
(append):
# iptables -D INPUT -p tcp --dport 8000 -s a.b.c.d -j ACCEPT
Korzystając z ufw
, należy wykonać analogiczne polecenie:
# ufw allow from a.b.c.d to any port 8000 proto tcp
A w celu usunięcia zasady:
# ufw delete allow from a.b.c.d to any port 8000 proto tcp