Impossible d'utiliser deux interfaces réseau en même temps

9

J'ai un problème. Tout d'abord, je voulais mettre en place un serveur sur Ubuntu 14.04. J'ai 2 interfaces: eth0 pour le serveur DHCP et eth1 pour la connexion Internet. Mais si je me connecte à deux réseaux en même temps, il n'y a pas Internet sur PC. Je dois donc choisir entre le serveur et Internet. C'est terrible, quelqu'un peut-il me dire comment régler ce problème?

/ 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

sorties de la route 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: sorties ifconfig:

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)
Andreikkaa
la source
Le gestionnaire de réseau configure-t-il vos appareils? Afficher la sortie de nmcli dev statuspouvez-vous aussi ping 192.168.0.1?
Meccooll

Réponses:

4

Configurer la sortie de ifconfiget les commentaires donnés à ma première réponse, je pense que le problème est lié à la façon dont vous configurez votre carte réseau dans /etc/network/interfaces.

Comme vous n'avez pas de configuration spécifique pour eth1 dans /etc/network/interfaces, je suppose que votre modem donne à votre serveur les informations IP via DHCP. Selon la routesortie, vous obtenez votre passerelle par défaut pointant vers le modem donc vers Internet.

Mais sur votre /etc/network/interfacesfichier pour l' eth0, vous avez également une passerelle par défaut configurée (instruction gateway 172.16.1.254).

Vous ne pouvez pas avoir deux passerelles par défaut sur un système. L'affectation de la passerelle par défaut sur eth1 désactive la configuration statique de eth0 , raison pour laquelle il n'y a pas d'IP pour eth0 dans la ifconfigsortie et pourquoi Internet fonctionne et le réseau interne plus.

Vous devrez supprimer la ligne gateway 172.16.1.254et réessayer.

Ce faisant, bien sûr, si vous avez plus d'un sous-réseau sur le LAN interne, vous ne pourrez plus les atteindre. Sauf si vous configurez un itinéraire statique vers tous ces sous-réseaux sur votre serveur:

sudo route add -net ABCD gw 172.16.1.254

vous pouvez ajouter la routecommande dans un script enregistré sous /etc/network/if-up.dpour être exécuté à chaque fois qu'une interface monte.

Benoit
la source
En fait, vous pouvez avoir deux itinéraires par défaut sur un système donné (pas sur son système car le serveur n'a pas accès à Internet) mais ils auront des priorités ou des configurations différentes pour équilibrer les deux.
JrBenito
3

D'après ce que je comprends de votre message, vous vous connectez à Internet via eth1 et à votre réseau interne via eth0 . Et votre serveur joue alors le rôle de serveur DHCP et de passerelle par défaut pour que vos PC accèdent à Internet.

Tout d'abord, sur le PC, vérifiez qu'ils ont reçu correctement tous les paramètres DHCP, y compris la passerelle. D'après votre question, je suppose que ce devrait être 172.16.1.100

Deuxièmement, assurez-vous que votre eth1 est bien connecté à Internet et bien configuré; cela dépend évidemment de votre FAI.

Enfin, l'opération la plus importante, vous devrez activer le transfert IP entre vos deux interfaces sur le serveur. Sans cela, le paquet ne sera pas acheminé entre votre PC et Internet:

Configuration manuelle :

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

Pour avoir automatiquement la configuration IP drapeau avant au démarrage décommenter la ligne #net.ipv4.ip_forward=1en/etc/sysctl.conf

Vous devrez également vous assurer qu'il n'y a pas de règles de pare-feu IPtables qui bloquent le trafic. Faire :

iptables -L -n

pour obtenir une liste de règles, le cas échéant. Je voudrais d'abord essayer cette configuration avec toutes les règles de pare-feu désactivées:

iptables -F

Benoit
la source
Non, j'essaie de configurer le serveur PXE. Les ordinateurs de mon réseau local obtiennent correctement les IP (ils démarrent). Mais il n'y a pas d'Internet ni sur le serveur ni (bien sûr) sur les clients.
Andreikkaa
Donc, pour l'instant, je n'ai qu'à réparer la connexion Internet sur le serveur.
Andreikkaa
@ user3452627: pourriez-vous s'il vous plaît ajouter la sortie de ifconfigà votre question. Et aussi, spécifiez comment vous êtes connecté à Internet.
Benoit
Sûr. Je suis connecté via modem.
Andreikkaa
@ user3452627: ce modem donne-t-il une adresse IP à votre serveur via DHCP?
Benoit
2

J'ai eu un problème similaire, mais mon fichier d'interface était vide comme ceci:

# The loopback network interface
auto lo
iface lo inet loopback

J'ai réussi à résoudre le problème en déplaçant / supprimant le fichier de connexion filaire trouvé: /etc/NetworkManager/system-connections/Wired connection 1

Après le redémarrage, a pu se connecter aux deux réseaux.

Maksim Luzik
la source