Nie można używać dwóch interfejsów sieciowych jednocześnie


9

Mam problem. Przede wszystkim chciałem skonfigurować serwer na Ubuntu 14.04. Mam 2 interfejsy: eth0 dla serwera dhcp i eth1 dla połączenia z Internetem. Ale jeśli połączę się z dwiema sieciami jednocześnie, nie będzie Internetu na PC. Więc muszę wybierać między serwerem a Internetem. To okropne, czy ktoś może mi powiedzieć, jak rozwiązać ten problem?

/ etc / network / interfaces:

auto lo eth0 eth1

iface lo inet loopback

iface eth0 inet static
address 172.16.1.100
netmask 255.255.255.0
broadcast 172.16.1.255
gateway 172.16.1.254

wyniki trasy sudo:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth1
192.168.0.0     *               255.255.255.0   U     1      0        0 eth1

UPD: ifconfig wyświetla:

eth0      Link encap:Ethernet  HWaddr 90:e6:ba:46:1d:50  
          inet6 addr: fe80::92e6:baff:fe46:1d50/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1110 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:184287 (184.2 KB)

eth1      Link encap:Ethernet  HWaddr 00:04:75:98:5f:da  
          inet addr:192.168.0.101  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::204:75ff:fe98:5fda/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:14498 errors:0 dropped:0 overruns:2 frame:0
          TX packets:13096 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9710708 (9.7 MB)  TX bytes:1840400 (1.8 MB)
          Interrupt:18 Base address:0x4c00 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:4398 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4398 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:527890 (527.8 KB)  TX bytes:527890 (527.8 KB)

Czy menedżer sieci konfiguruje twoje urządzenia? Pokaż wyniki nmcli dev statusrównież możesz ping 192.168.0.1?
— meccooll,

Odpowiedzi:


4

Konfigurując dane wyjściowe ifconfigi komentarze do mojej pierwszej odpowiedzi, myślę, że problem jest związany ze sposobem, w jaki konfigurujesz swoje karty sieciowe /etc/network/interfaces.

Jak nie masz żadnej konfiguracji specyficzne dla eth1 w /etc/network/interfacesPrzypuszczam, że modem jest dawanie na serwer info IP przez DHCP. Zgodnie z routewyjściem domyślna brama wskazuje modem, a więc Internet.

Ale w /etc/network/interfacespliku dla eth0 masz również skonfigurowaną bramę domyślną (instrukcja gateway 172.16.1.254).

W systemie nie można mieć dwóch bram domyślnych. Przypisanie bramy domyślnej na eth1 wyłączyć statyczna konfiguracja eth0 , powód dlaczego nie ma IP dla eth0 w ifconfigprodukcji i dlaczego działa Internet i sieci wewnętrznej nie więcej.

Musisz usunąć linię gateway 172.16.1.254i spróbować ponownie.

W ten sposób, oczywiście, jeśli masz więcej niż jedną podsieć w wewnętrznej sieci LAN, nie będziesz już w stanie do nich dotrzeć. Chyba że skonfigurujesz trasę statyczną do wszystkich tych podsieci na serwerze:

sudo route add -net ABCD gw 172.16.1.254

możesz dodać routepolecenie do skryptu zapisanego w /etc/network/if-up.dcelu uruchamiania za każdym razem, gdy interfejs się podnosi.


W rzeczywistości możesz mieć dwie domyślne trasy w danym systemie (nie w jego systemie, ponieważ serwer nie ma dostępu do Internetu), ale powinny mieć różne priorytety lub konfigurację, aby zrównoważyć obie.
— JrBenito,

3

Z tego, co rozumiem na temat twojego postu, łączysz się z Internetem przez eth1 i do swojej wewnętrznej sieci przez eth0 . Twój serwer pełni wtedy rolę serwera DHCP i domyślnej bramy komputera, aby móc korzystać z Internetu.

Najpierw sprawdź na komputerze, czy poprawnie otrzymały wszystkie ustawienia DHCP, w tym bramę. Z twojego pytania zakładam, że powinno to być 172.16.1.100

Po drugie, upewnij się, że Twój eth1 jest dobrze podłączony do Internetu i dobrze skonfigurowany; zależy to oczywiście od twojego dostawcy usług internetowych.

Wreszcie, najważniejsza operacja, musisz włączyć przekazywanie IP między dwoma interfejsami na serwerze. Bez tego pakiet nie będzie routowany między komputerem a Internetem:

Manualna instalacja :

sudo echo 1> / proc / sys / net / ipv4 / ip_forward

Aby mieć do przodu flagę IP automatycznie setup podczas startu odkomentuj linii #net.ipv4.ip_forward=1w/etc/sysctl.conf

Musisz również upewnić się, że nie ma reguł zapory IPtables, które blokowałyby ruch. Zrobić :

iptables -L -n

aby uzyskać listę reguł, jeśli takie istnieją. Najpierw wypróbuję tę konfigurację przy wyłączonych wszystkich regułach zapory:

iptables -F


Nie, próbuję skonfigurować serwer PXE. Komputery w mojej sieci lokalnej prawidłowo uzyskują adresy IP (uruchamiają się). Ale nie ma internetu ani na serwerze, ani (oczywiście) na klientach.
— Andreikkaa

Na razie muszę tylko naprawić połączenie internetowe na serwerze.
— Andreikkaa

@ user3452627: czy możesz dodać wynik ifconfigswojego pytania. A także określ, w jaki sposób masz połączenie z Internetem.
— Benoit

Pewnie. Jestem połączony przez modem.
— Andreikkaa

@ user3452627: czy ten modem podaje adres IP twojemu serwerowi przez DHCP?
— Benoit

2

Miałem podobny problem, ale mój plik interfejsów był pusty:

# The loopback network interface
auto lo
iface lo inet loopback

Udało mi się rozwiązać problem, przenosząc / usuwając znaleziony plik połączenia przewodowego: /etc/NetworkManager/system-connections/Wired connection 1

Po ponownym uruchomieniu był w stanie połączyć się z obiema sieciami.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.