Motivation:
Je veux utiliser mon serveur Linux au lieu du routeur sans fil moyen pour plusieurs raisons
- Je veux apprendre à mettre en place un serveur plus complet sur linux
- Je ne veux pas avoir un modem, connecté à un routeur, connecté à un commutateur réseau
- Je suis malade et fatigué de devoir débrancher mon routeur tous les 10 jours, car il se bloque
- J'en ai assez d'acheter des routeurs pour me rendre compte qu'il leur manque quelque chose de crucial, comme le transfert de port ou l'adressage IP statique (DHCP)
Installer:
En fin de compte, la connexion entrera dans un modem et directement dans mon serveur eth0
, puis eth1
sera transmise à un commutateur réseau auquel tous les autres ordinateurs clients se connecteront via des câbles Ethernet (oubliez le sans fil pour le moment). Actuellement, cependant, je suis dans un immeuble de bureaux et la connexion est connectée à un modem, qui passe dans un routeur, qui passe ensuite dans un commutateur réseau, qui passe ensuite eth0
comme spécifié ci-dessus.
Tutoriels en cours:
J'ai regardé quelques tutoriels (le tutoriel Ubuntu est le meilleur), et j'ai examiné certaines des questions relatives aux routeurs ici (c'est-à-dire celle-ci ), mais elles dissimulent toutes plusieurs concepts clés, tels que:
- Quel est
eth1
le lien aveceth0
? Dois/etc/network/interfaces
-je savoir commenteth1
utilisereth0
commenetwork
(généralement l'adresse réelle du routeur physique)? - Dois-je faire quelque chose pour ordonner
eth1
de prendre Interneteth0
et de le transmettre à qui le souhaite via le commutateur de réseau?
Approche actuelle:
Voici mon /etc/network/interfaces
fichier sur le serveur:
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.1.70
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
auto eth1
# iface eth1 inet dhcp
iface eth1 inet static
address 192.168.7.0
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
Et ifconfig
me dit que les deux NIC fonctionnent bien:
eth0 Link encap:Ethernet HWaddr 20:cf:30:55:a0:5f
inet addr:192.168.1.70 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::22cf:30ff:fe55:a05f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:11297 errors:0 dropped:0 overruns:0 frame:0
TX packets:16639 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:948633 (948.6 KB) TX bytes:1274685 (1.2 MB)
eth1 Link encap:Ethernet HWaddr 00:11:95:f7:f4:6d
inet addr:192.168.7.0 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::211:95ff:fef7:f46d/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:243 errors:0 dropped:0 overruns:0 frame:0
TX packets:3231 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:29934 (29.9 KB) TX bytes:213055 (213.0 KB)
Interrupt:21
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:5348 errors:0 dropped:0 overruns:0 frame:0
TX packets:5348 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:470737 (470.7 KB) TX bytes:470737 (470.7 KB)
wlan0 Link encap:Ethernet HWaddr bc:f6:85:f8:70:5c
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Et voici ce que route -n returns
sur le serveur:
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.7.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Puis sur le client j'ai
auto lo
iface lo inet loopback
iface eth0 inet dhcp
Mais on ne lui attribue pas d'adresse IP.
EDIT: Voici le fichier de configuration isc-dhcp-server situé dans /etc/dhcp3/dhcpd.con
lequel j'ai copié le plus souvent à partir de ce site .
# Sample /etc/dhcpd.conf
# (add your comments here)
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.example";
subnet 192.168.7.0 netmask 255.255.255.0 {
range 192.168.7.10 192.168.7.25;
}
EDIT: Sortie desudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy DROP)
target prot opt source destination
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
ACCEPT all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level warning
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Question:
Quelles sont les étapes / composants cruciaux qui me manquent dans cette configuration?
la source
dhcp
(et doncdhcpd
), @TML n’est pas obligatoire, il est uniquement destiné à centraliser toutes les ips statiques sur le serveur (par opposition à la modification du/etc/network/interfaces
fichier dans chaque hôte). Par conséquent, j'ai décidé de ne pas expérimenter avec cela jusqu'à ce que cela fonctionne. J'ai cependantdhcp3-server
installé, ainsi queisc-dhcp-server
dhcpd.conf
fichier et indiqué que je l'utiliseisc-dhcp-server
Réponses:
Je dois y aller comme Jack l'éventreur à cause de plusieurs choses manquantes:
Si votre client utilisera DHCP pour obtenir les adresses IP, vous avez besoin d'un serveur DHCP.
Dans les clients, cela indique qu'ils obtiendront leur adresse IP d'un serveur DHCP. Si vous n'avez pas configuré de serveur DHCP, vous devez utiliser des adresses IP fixes ou installer un serveur DHCP.
Vous manquez de serveurs DNS configurés dans les clients. En raison du manque de serveur DHCP, ou vous pouvez utiliser un serveur DNS local pour tout votre réseau.
Vous n'avez pas proposé les
iptables
règles (la sortie desudo iptables -L
), mais je devine que vous n'avez pas activé les règles de Masquerade, ni le transfert IP tel que décrit .L'adresse IP de
eth1
n'est pas recommandée. Toutes les adresses IP terminées0
sont généralement le réseau lui-même, et la plupart des routeurs / pare-feu sont confus lorsqu’ils sont utilisés . Changez-le192.168.7.1
et vous irez surtout bien.Votre
broadcast
valeur dans l'eth1
interface n'est pas correcte. Envoie des colis nulle part. La valeur correcte (en tenant compte des autres valeurs de l'interface) est192.168.7.255
.Vos options sur le serveur DHCP sont vicieux. Les paquets ARP à votre routeur n'atteindront jamais. Voici ce que vous devriez avoir:
Suivez-les et probablement votre routeur fonctionnera.
la source
sudo iptables -L
la question192.168.7.255
et ligne 8subnet 192.168.7.0
.255
c'est l'adresse de diffusion normalement utilisée, tout paquet envoyé dans cette direction sera envoyé à tous les systèmes dans les mêmes sous-réseaux. Ce qui signifie que tout colis envoyé à 1.2.3.255 , il sera reçu par tout système de démarrage de IP 1.2.3 puisque tous sont dans le même sous - réseau en.wikipedia.org/wiki/Subnetwork#IPv4_subnettingdhcp
ou le réseau. Fera une adresse IP statique à tester. Pour l'eth1
adresse IP statique sur le client, est-ce que j'utilise l'adresse IP de la passerelle?Braiam a répondu à ma question, mais j’ai pensé qu’il serait utile de présenter ici une procédure détaillée. Veuillez le mettre à jour si j'ai commis des erreurs.
Tout d’abord, assurez-vous d’avoir deux cartes Ethernet et mettez à jour le
/etc/network/interfaces
fichier en tant que tel (ne confondez pas ceci avec le/etc/networks
fichier).Pour trouver votre
gateway
,broadcast
etnetwork
suivez ces instructions .Ensuite, accédez au client et modifiez d’abord le fichier
/etc/network/interface
(encore une fois, pas/etc/networks
) pour une adresse IP statique, afin de vous assurer que la carte réseau au moins fonctionne.Modifiez les valeurs pour qu'elles correspondent aux valeurs ci-dessus. Si cela fonctionne, grand, puis suivez les instructions ici , mais les suivre exactement , car il y a plusieurs
dhcp
fichiers pour ne pas confondre le dossier/etc/dhcp
avec/etc/dhcp3
et ainsi de suite.la source