Comment obtenir un point à point tun0?

0

Je veux configurer un tunnel point à point. Mon /etc/network/interfaceressemble à ceci:

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
address 127.0.0.1
netmask 255.0.0.0

auto eth0
iface eth0 inet manual
netmask 255.255.0.0
up ifconfig eth0 up

auto eth1
iface eth1 inet static
address 192.168.2.61
netmask 255.255.255.0
gateway 192.168.2.1
dns-nameservers 192.168.2.1 217.237.148.70

auto eth2
iface eth2 inet manual
up ifconfig eth2 up

auto tun0
iface tun0 inet static
address 192.168.99.129
pointopoint 192.168.99.129
netmask 255.255.255.252
mtu 8300
hw ether 00:00:00:00:00:00
tunctl_user sys

Je redémarre le réseau:

# sudo /etc/init.d/networking restart
[ ok ] Restarting networking (via systemctl): networking.service.

… Et je reçois:

# ifconfig
eth0      Link encap:Ethernet  Hardware Adresse 00:e0:f4:18:ca:72
          inet6-Adresse: fe80::2e0:f4ff:fe18:ca72/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX-Pakete:1534 Fehler:0 Verloren:0 Überläufe:0 Fenster:0
          TX-Pakete:777 Fehler:0 Verloren:0 Überläufe:0 Träger:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX-Bytes:138060 (138.0 KB)  TX-Bytes:85779 (85.7 KB)

eth1      Link encap:Ethernet  Hardware Adresse 00:e0:f4:18:ca:73
          inet Adresse:192.168.2.61  Bcast:192.168.2.255  Maske:255.255.255.0
          inet6-Adresse: 2003:57:e712:931c:2e0:f4ff:fe18:ca73/64 Gültigkeitsbereich:Global
          inet6-Adresse: fe80::2e0:f4ff:fe18:ca73/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX-Pakete:3391 Fehler:0 Verloren:0 Überläufe:0 Fenster:0
          TX-Pakete:1123 Fehler:0 Verloren:0 Überläufe:0 Träger:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX-Bytes:499727 (499.7 KB)  TX-Bytes:190601 (190.6 KB)

eth2      Link encap:Ethernet  Hardware Adresse 00:e0:f4:18:ca:74
          UP BROADCAST MULTICAST  MTU:1500  Metrik:1
          RX-Pakete:0 Fehler:0 Verloren:0 Überläufe:0 Fenster:0
          TX-Pakete:0 Fehler:0 Verloren:0 Überläufe:0 Träger:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX-Bytes:0 (0.0 B)  TX-Bytes:0 (0.0 B)

lo        Link encap:Lokale Schleife
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:65536  Metrik:1
          RX-Pakete:352 Fehler:0 Verloren:0 Überläufe:0 Fenster:0
          TX-Pakete:352 Fehler:0 Verloren:0 Überläufe:0 Träger:0
          Kollisionen:0 Sendewarteschlangenlänge:1
          RX-Bytes:27811 (27.8 KB)  TX-Bytes:27811 (27.8 KB)

tun0      Link encap:Ethernet  Hardware Adresse 42:12:97:b6:a8:2e
          inet Adresse:192.168.99.129  Bcast:192.168.99.255  Maske:255.255.255.255
          UP BROADCAST MULTICAST  MTU:8300  Metrik:1
          RX-Pakete:0 Fehler:0 Verloren:0 Überläufe:0 Fenster:0
          TX-Pakete:0 Fehler:0 Verloren:0 Überläufe:0 Träger:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX-Bytes:0 (0.0 B)  TX-Bytes:0 (0.0 B)

J'ai les questions suivantes:

  1. tun0devrait être une connexion point à point. La commande pointopoint 192.168.99.129semble être ignorée.
  2. L'adresse matérielle doit être 00:00:00:00:00:00due à la commande hw ether. Ceci est également ignoré.

Que puis-je faire?

Musbach
la source
Peut-être que l’objectif réel aiderait à répondre à la question.
Daniel B
1
L'objectif est une connexion point à point. En ce moment , je reçois juste Bcastmême si je secify un pointopointdans interface. Pourquoi est-ce que je n'obtiens tun0pas un ptp?
Musbach
1
Parce que c'est Ethernet (virtuel). Ethernet n'est pas point à point. Alors maintenant, quel est le but? Une tuninterface n'est connectée à rien sauf si un programme utilise l'API du noyau TUN / TAP. Créer une interface juste pour créer une interface est inutile.
Daniel B
1
Au lieu d'essayer d'expliquer l'explication dans un commentaire, mettez à jour votre question . // Veuillez fournir plus de détails sur la manière dont s1 accéderait à s2 via eth1, quand eth1 est la liaison montante Internet. Pourquoi reçoit-il des émissions sur eth0? Vous devriez également inclure des détails sur ce qui peut et ce qui ne peut pas être changé. Soit dit en passant, une interface tun (par elle-même) n'est pas ce que vous recherchez. De plus, votre configuration réseau actuelle est tout simplement invalide, une adresse est manquante sur eth0.
Daniel B
1
eth0n'a pas besoin d' IP4adresse. Il reçoit automatiquement une IP6adresse.
Musbach

Réponses:

2

J'ai des commentaires et des suggestions. Les commentaires sont:

1) `eth0` and `eth2` can perfectly live without ip4 address. 
An ip4 address is not mandatory at all.
2) `eth2` seems to be dummy.
3) Virtual Ethernet is possible. Ethernet supports point-to-point.

Pour plus d' informations sur Ethernet virtuel Je recommande côtés comme cela ou que . loest un virtuel Cependant, un ssl / tls n'est pas nécessaire pour un tunnel

Mes suggestions sont les suivantes:

1) `eth0` and `eth2` are ok. I don’t see any reason for changes. 
You don’t need to add an ip address.
2) The mask of `tun0` seems not to work. It could be that this is a bug or a feature.
I don’t know a workaround. Could you please crosscheck it?
3) You must setup also a route if you want to use a tunnel.
Please check with `route -n` if you have set it.
I expect a route to `192.168.99.XYZ`.
4) If you haven’t set up any route, you can do it in `interface` by adding this
`up iptables -t nat -A POSTROUTING -s 192.168.99.XYZ/255.255.255.252 -j MASQUERADE` and 
`down iptables -t nat -A POSTROUTING -s 192.168.99.XYZ/255.255.255.252 -j MASQUERADE`
at the end of `tun0`. Replace `XYZ` with the ip address of server 2. 
Maybe the mask at the ip addresses will work.
5) If you want to set a hardware address, you have to use the `-` instead of the `:`.
However, I doubt that `hwaddress ether 00-00-00-00-00-00` will work because it is an
invalid address. But, give it a try.
orbite
la source
0

Si votre description est correcte, vous n'avez pas besoin d'un tunnel, vous devez corriger votre configuration et éventuellement votre routage. Résumons ceci:

Serveur 1:

  • eth0connecté à un segment Ethernet A inconnu, sans adresse IPv4 valide et avec un masque de réseau 255.255.0.0inutile, car il n’existe pas d’adresse IP4 valide. Il peut recevoir des émissions au niveau MAC et IPv6 pour son adresse de liaison locale, mais ni l’émission ni la réception d’émissions, ni rien d’autre, IPv4 ne fonctionnera sans une adresse IPv4 valide.

  • eth1connecté un segment Ethernet B avec 192.168.2.0/24dans ce segment, une passerelle à 192.168.2.1et la possibilité d’acheminer vers un segment C avec192.168.99.0/24

Serveur 2:

  • eth? connecté au segment C avec 192.168.99.0/24

La commande ping entre le serveur 1 et le serveur 2 fonctionne. Par conséquent, les paquets ICMP doivent être correctement acheminés du segment B au segment C. Telnet et certaines applications non spécifiées ne fonctionnent pas, ce qui signifie que les paquets TCP ne sont pas correctement acheminés du segment B au segment C.

Pour établir un tunnel entre le serveur 1 et le serveur 2, vous avez besoin d'une connexion entre le serveur 1 et le serveur 2 qui fonctionne de manière réaliste pour les paquets TCP ou UDP. Ensuite, vous pouvez "tunnel" les paquets directement sur cette connexion. Cependant, puisque vous avez une connexion en premier lieu, un tunnel n'est pas vraiment nécessaire, vous pouvez simplement utiliser cette connexion. Exception: votre routeur bloque les paquets TCP, mais pas les paquets UDP. Vous pouvez alors utiliser UDP pour encapsuler TCP.

Vous devez donc corriger ce qui empêche la connexion entre le serveur 1 et le serveur 2 de fonctionner. Ce problème se situe dans le routeur (dont vous ne nous avez rien dit) et éventuellement dans le réseau entre le segment B et le segment C (dont vous ne nous avez également rien dit).

dirkt
la source