https://wiki.debian.org/NetworkConfiguration#Bridging_without_Switching
Powyższy adres URL mówi, co następuje. Ale nie jest dla mnie jasne, kiedy są opcjonalne, a kiedy nie. Czy możesz podać mi link do referencji, które to opisują? Dzięki.
Jeśli konfigurujesz go ręcznie, wówczas coś takiego ustawi bramę domyślną (sieć, transmisja i brama są opcjonalne):
auto eth0
iface eth0 inet static
address 192.0.2.7
netmask 255.255.255.0
gateway 192.0.2.254
networking
gateway
użytkownik1424739
źródło
źródło
Odpowiedzi:
Jak skonfigurować statyczny adres IP i dlaczego
Ogłoszenie! Nie mówię o innych sposobach konfiguracji sieci, takich jak NetworkManager. Żadne urządzenie wymienione w
/etc/network/interfaces
nie jest dotknięte przez NMAby móc komunikować się przez sieć IP (IPv4 i IPv6), komputer musi wiedzieć, jaki ma adres IP. Dlatego
address
potrzebna jest dyrektywa, aby powiedzieć komputerowi.Gdy komputer chce następnie rozmawiać z innym komputerem, używa adresu IP innych komputerów, aby sprawdzić, czy ten komputer jest w tej samej sieci, LAN. Jeśli tak, komputer może komunikować się bezpośrednio z drugim komputerem.
Skąd więc komputer wie, kiedy komunikuje się z komputerem w tej samej sieci LAN? Korzystając z sieci
netmask
, w których część netto adresu jest ustawiona na jedynki, a część hosta na zera. Tak więc, wykonując bitową operację AND między każdym bitem adresu IP a maską sieci, otrzymamy adres sieciowy adresu IP, gdzie część hosta wynosi zero. Jeśli więc zrobimy to na adresie IP komputerów i na innych komputerach, otrzymamy każdy adres sieciowy. Jeśli są równe, oznacza to, że komputery są w tej samej sieci i mogą rozmawiać bezpośrednio ze sobą.Jeśli adresy sieciowe nie są równe, znajdują się w innej sieci LAN i nie mogą się ze sobą bezpośrednio komunikować. Następnie komputer musi użyć specjalnego komputera podłączonego do innych sieci LAN. Ten komputer jest routerem (który może mieć także zaporę i NAT). Kiedy więc komputer chce rozmawiać z innymi komputerami poza siecią LAN, musi znać adres tego komputera ustawiony w
gateway
dyrektywie. Jeśli inny interfejs ustawił jużgateway
wartość, nie należy i nie należy ustawiać kolejnej dyrektywy bramy dla tego interfejsu. Dogateway
dyrektywa ustawia domyślną trasę do komputera, więc trzeba tylko jeden dla IPv4 i IPv6 tylko jeden dla każdej maszyny. Ten adres sieciowy można ustawić ręcznie za pomocąnetwork
dyrektywy.Czasami komputer chce komunikować się ze wszystkimi komputerami w sieci LAN i używa adresu rozgłoszeniowego. Ten adres jest nasłuchiwany przez wszystkie komputery w tej samej sieci LAN. Jest to w zasadzie taki sam jak adres sieciowy, z tą różnicą, że część hosta to nie wszystkie zera i zamiast nich wszystkie. Ten adres rozgłoszeniowy jest ustawiany przez dyrektywę
broadcast
w interfejsie.network
Adres interfejsu musi być obliczony tylko raz i zwykle jest obliczany poprawnie na podstawie tegoaddress
inetmask
dyrektyw. To samo zbroadcast
adresem. Więc nie musisz ich ustawiać. W rzeczywistości, jeśli ustawisz jedną lub obie na niewłaściwe wartości, możesz utracić połączenie z Internetem i innymi komputerami w twojej sieci LAN. Więc jeśli nie masz na nich dziwnych wartości, pozwól komputerowi je obliczyć.Tak więc minimalne ustawienia statyczne lub zwrotki
/etc/network/interfaces
mogą wyglądać tak dla urządzeniaeth1
w sieci prywatnej:Jak działa rozpoznawanie nazw i jak jest powiązane z DNS.
Nazwy domen służą do konwersji między łatwymi do odczytania i zapamiętania nazwami domen a komputerami, które nie są tak łatwe do zapamiętania, wspomniane powyżej adresy IP. Nazywa się to rozpoznawaniem nazw .
Zwykle jest to kontrolowane przez plik
/etc/nsswitc.conf
i linię zaczynającą się odhosts:
. Jeśli poprosisz komputer o połączenie z komputeremmy.example.com
, przejrzy ten plik i spróbuje rozwiązać adres IP z nazwymy.example.com
. Ten plik nie odpowiada na pytanie „jakie adresy IP ma mój.przyklad.com”, po prostu informuje komputer, gdzie może znaleźć odpowiedź.Zwykle
/etc/hosts
najpierw próbuje pliku w celu uzyskania statycznych nazw lokalnych, następnie avahi wmDNS
przypadku dynamicznych nazw lokalnych, a następnie programu do zmiany nazw domen DNS, aby uzyskać nazwę z Internetu.Jeśli niektóre z nich nie odpowiadają na pytania, może to wyglądać, jakby komputer utknął na chwilę. Jeśli to otrzymasz, najpierw sprawdź rozwiązywanie nazw.
Tak więc dodając adresy statyczne, możesz po prostu dodać go do swojego
/etc/hosts
pliku. Nawiasem mówiąc, jeśli masz adres statyczny, prawdopodobnie powinieneś zmienić tam adres IP swojego urządzenia na swój adres IP, a nie domyślny127.0.1.1
(który znajduje się w sieci localnet, gdzie jest localhost127.0.0.1
). Działa to tylko w przypadku klientów, a nie serwerów.Dynamiczne adresy, które otrzymujesz z komputerów z systemem Linux wraz z
avahi
pakietem oraz z komputerów Apple (i MS Windows z iTunes?). Jest to obsługiwane przez „magię” i nie trzeba tego naprawiać.DNS jest używany do łączenia się z Internetem i musisz powiedzieć komputerowi, gdzie są te serwery DNS, których chcesz użyć, jaki adres IP użyć i jaka jest domyślna domena DNS.
Odbywa się to w pliku
/etc/resolv.conf
i można je ustawić statycznie. To nie działa tak dobrze w naszym nie tak statycznym świecie, więc zazwyczaj maszresolvconf
zainstalowany pakiet o nazwie . To pozwala skonfigurować te ustawienia w/e/n/interfaces
pliku.Jeśli więc założymy, że chcemy dodać jeden z serwerów DNS Googles
8.8.8.8
oraz serwer DNS twojego dostawcy usług internetowych192.0.2.1
i domenęmy.example.org
domeny jako domyślną, po prostu edytuj/etc/network/interfaces
plik i dodaj te dwie linie w sekcji dla urządzenia statycznego.Możesz również zauważyć, że program rozpoznawania nazw DNS będzie używał maksymalnie trzech serwerów DNS. Proszę spojrzeć na to w
man
-page dniaresolv.conf
. Jak zwykle, można użyć poleceniaman nsswitch.conf
,man resolv.conf
aman resolvconf
po więcej informacji.Zauważ też, że używam domeny example.com i example.org oraz sieci IP 192.0.2.0/24 dla przykładowego serwera DNS ISP. Są one wyraźnie zdefiniowane do użycia w przykładach. Zobacz http://example.com/ lub http://tools.ietf.org/html/rfc2606 i rfc5735
Jak zatem sprawdzić, czy to działa?
Możesz to zrobić na wiele sposobów, ale zwykle używam
przetestować całą konfigurację pod kątem rozpoznawania nazw. Jeśli chcę tylko sprawdzić, czy DNS działa, używam jednego z następujących poleceń:
Pamiętaj jednak, że te testują DNS tylko poprzez ustawienia w
/etc/resolv.conf
pliku, a nie/etc/nsswitch.conf
część. To może być to, czego chcesz lub nie.źródło
/etc/internet/interfaces
będą wkrótce przestarzałe dla Ubuntu, na rzecz własnychNetPlan
, patrz/etc/netplan/*.yaml
iNM
(które można modyfikowaćnm-tools
).