Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/07/2015, à 00:44

oliver2004

Difficultés pour faire le NAT

Bonjour à tous,
Jusqu'à samedi, j'avais un serveur Ubuntu 8.04 LTS qui continuait à tourner depuis déjà 7 ans dans ma boîte sans trop de souci sauf dernièrement quelques petits accrocs qui m'ont mis à l'évidence, 7 ans, ça fait loin et j'ai décidé, après tout de même quelques hésitations de refaire une installe du serveur plus actuelle, en l’occurrence une 14.04 LTS.
Du coup, dimanche, après un dernier backup, on se lance dans une nouvelle installation. J'ai tenté avec une 14.04.2 qui apparemment avait un problème et qui a échoué, je télécharge une nouvelle version et j'installe une 14.04.1, qui apparemment tourne bien mais...

Mon serveur gérait:
un serveur nfs
un serveur rdiff-backup
un serveur LAMP
Postfix
un serveur DHCP
et était de plus un router pour sécuriser le réseau local, une passerelle configuré en NAT.

Et c'est bien là que ça pose problème. J'avais configuré ça il y a 7 ans sans trop de souci, mais cette fois ci, ce n'est pas la même chose, impossible de faire transiter des paquets par la passerelle... je suis dessus depuis dimanche sans succès et j'ai donc, après des heures passées à chercher la solution, sur la doc Ubuntu et autres recherches infructueuses, décidé de me tourner vers vous pour un coup de pouce... smile
Voici la situation:
J'ai 2 cartes réseaux, eth0 et eth1, eth0 est l'interface tournée vers le net et eth1 l'interface tournée vers le réseau local.

Le fichier /etc/network/interfaces est le suivant:

server@server:/etc/network$ cat interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface (Carte NON intégrée VIA TECH 
auto eth0
iface eth0 inet dhcp

# Carte réseau secondaire (Carte intégrée Realtec)
auto eth1
iface eth1 inet static
address 192.168.0.1
network 192.168.0.0/24
netmask 255.255.255.0
broadcast 192.168.0.255

Après boot du serveur, je fais un ifconfig qui me donne:

server@server:/etc/network$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:21:91:52:9b:e0  
          inet addr:192.168.1.56  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::221:91ff:fe52:9be0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:899 errors:0 dropped:0 overruns:0 frame:0
          TX packets:170 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:62667 (62.6 KB)  TX bytes:18114 (18.1 KB)

eth1      Link encap:Ethernet  HWaddr 00:1c:c0:e8:34:48  
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::21c:c0ff:fee8:3448/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1196 (1.1 KB)  TX bytes:1808 (1.8 KB)

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:33 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2468 (2.4 KB)  TX bytes:2468 (2.4 KB)

J'ai donc monté mon réseau local en DHCP avec isc-dhcp-server qui ne pose pas de problème, les ip sont bien attribuée au réseau local eth1 et le serveur est bien connecté à internet via eth0.
Réponse du réseau local:

server@server:/etc/network$ ping 192.168.0.52
PING 192.168.0.52 (192.168.0.52) 56(84) bytes of data.
64 bytes from 192.168.0.52: icmp_seq=1 ttl=64 time=0.565 ms
64 bytes from 192.168.0.52: icmp_seq=2 ttl=64 time=0.330 ms
64 bytes from 192.168.0.52: icmp_seq=3 ttl=64 time=0.326 ms
64 bytes from 192.168.0.52: icmp_seq=4 ttl=64 time=0.318 ms
^C
--- 192.168.0.52 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 2997ms
rtt min/avg/max/mdev = 0.318/0.384/0.565/0.106 ms

Réponse d'internet:

server@server:/etc/network$ ping google.com
PING google.com (74.125.196.101) 56(84) bytes of data.
64 bytes from yk-in-f101.1e100.net (74.125.196.101): icmp_seq=1 ttl=249 time=180 ms
64 bytes from yk-in-f101.1e100.net (74.125.196.101): icmp_seq=2 ttl=249 time=177 ms
64 bytes from yk-in-f101.1e100.net (74.125.196.101): icmp_seq=3 ttl=249 time=177 ms
64 bytes from yk-in-f101.1e100.net (74.125.196.101): icmp_seq=4 ttl=249 time=179 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 177.294/178.643/180.405/1.339 ms

Mais impossible de faire le nat... j'avoue que ça faisait un moment que je mettais pas les mains dans le cambouis mais je pensais pas être aussi rouillé??
Donc voici ce que j'ai fait, dîtes moi si j'ai oublié quelque chose...
Sur le fichier /etc/sysctl.conf, j'ai décommenté les lignes suivantes:

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1
net.ipv4.ip_forward=1

Et je tente désespérément de mettre en place les règles iptables qui vont bien (les dernières iptables ont été flushée auparavant, elles sont donc vides), j'en suis donc là:

sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -m state -d 192.168.1.0/24 --state NEW,RELATED,ESTABLISHED -j ACCEP

Du coup, les machines réseau sont en réseau avec le serveur sur la plage 192.168.0/24 mais aucune n'a accès à internet, sauf le serveur...
Si quelqu'un a une idée... neutral


Bureaux: Ubuntu Serveur Edition 18.04.4 LTS, Kubuntu, Xubuntu sur portables 18.04 LTS ou 20.04 LTS
Déjà 13 ans que toutes les machines sont LINUX dans mon entreprise...

Hors ligne

#2 Le 18/07/2015, à 17:52

oliver2004

Re : Difficultés pour faire le NAT

Bonjour,
Après moult essais, de déconfitures et de déceptions... je me demande, n'y a t-il pas un problème avec cette version en ce qui concerne le NAT?

Dernière modification par oliver2004 (Le 18/07/2015, à 18:42)


Bureaux: Ubuntu Serveur Edition 18.04.4 LTS, Kubuntu, Xubuntu sur portables 18.04 LTS ou 20.04 LTS
Déjà 13 ans que toutes les machines sont LINUX dans mon entreprise...

Hors ligne

#3 Le 19/07/2015, à 09:56

bruno

Re : Difficultés pour faire le NAT

Bonjour,

Si eth0 est ton interface réseau de sortie (vers l'Internet) c'est (et non eth1) :

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Hors ligne

#4 Le 22/07/2015, à 19:59

oliver2004

Re : Difficultés pour faire le NAT

bruno a écrit :

Bonjour,

Si eth0 est ton interface réseau de sortie (vers l'Internet) c'est (et non eth1) :

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Bonjour bruno,
En fait j'avais à peu près testé tous les cas de figure, à s'en arracher les cheveux et finalement, le problème s'est résolu. Il manquait curieusement un détail dans la configuration du dhcp.

pukanina@pukaninaserver:/etc/dhcp$ cat dhcpd.conf

option domain-name-servers 192.168.1.1, 192.168.1.2; #### VOICI CE QU'IL ME MANQUAIT CONFIGURER... sans ça, marche pas... ####

default-lease-time 600;
max-lease-time 7200;

subnet 192.168.0.0 netmask 255.255.255.0 {
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.0.255;
  range 192.168.0.50 192.168.0.100;
  option routers 192.168.0.1; 

}

Ensuite, les règles d'iptables sont passées toutes seules, ainsi que le NAT et MASQUERADE... un truc de fous, ça nous a tenu des journées et quelques nuits


Bureaux: Ubuntu Serveur Edition 18.04.4 LTS, Kubuntu, Xubuntu sur portables 18.04 LTS ou 20.04 LTS
Déjà 13 ans que toutes les machines sont LINUX dans mon entreprise...

Hors ligne