J'ai un problème. Tout d'abord, je souhaite configurer 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’ya pas d’Internet sur PC. Je dois donc choisir entre le serveur et Internet. C'est terrible, quelqu'un peut-il me dire comment résoudre 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: ifconfig génère:
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)
En configurant la sortie de ifconfig
et 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 transmet à votre serveur les informations IP via DHCP. Conformément à la sortie route
, votre passerelle par défaut est dirigée vers le modem, donc vers Internet.
Mais sur votre fichier /etc/network/interfaces
pour eth, 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 eth, raison pour laquelle il n'y a pas d'adresse IP pour eth dans la sortie ifconfig
et pourquoi. Internet fonctionne et le réseau interne non plus.
Vous devrez supprimer la ligne gateway 172.16.1.254
et réessayer.
Ce faisant, bien sûr, si vous avez plusieurs sous-réseaux sur le réseau local interne, vous ne pourrez plus les atteindre. Sauf si vous configurez une route statique vers tous ces sous-réseaux sur votre serveur:
Sudo route add -net A.B.C.D gw 172.16.1.254
vous pouvez ajouter la commande route
dans un script enregistré sous /etc/network/if-up.d
à exécuter à chaque fois qu’une interface est activée.
D'après ce que j'ai compris de votre message, vous vous connectez à Internet via eth1 et à votre réseau interne via eth. Et votre serveur joue alors le rôle de serveur DHCP et de passerelle par défaut pour que votre PC puisse accéder à Internet.
Tout d’abord, sur le PC, vérifiez qu’ils ont bien reçu tous les paramètres DHCP, y compris la passerelle. D'après votre question, je suppose que cela 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, les paquets ne seront pas acheminés entre votre PC et Internet:
Installation manuelle :
Sudo echo 1>/proc/sys/net/ipv4/ip_forward
Pour que l'indicateur de transfert IP soit automatiquement configuré au démarrage, décommentez la ligne #net.ipv4.ip_forward=1
in /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
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 Wired trouvé: /etc/NetworkManager/system-connections/Wired connection 1
Après le redémarrage, a pu se connecter aux deux réseaux.