Bonjour à tous,
Les infos sont déjà dispo de façon diffuse sur ce forum, mais je crois qu'elle n'avait jamais été centralisées.
Voici donc un résumé de la config nécéssaire pour utiliser un routeur Vyos en le branchant directement à l'ONT en ZMD.
(Donc non applicable pour Pop et Delta).
Ce mode opératoire fonctionne en ip full stack.
Il est adaptable en mode ip partagée, mais franchement, pourquoi s'imposer celà ?
Informations à collecter avant de démarrer:
- La MAC de la freebox (Dispo sur l'étiquette de la face inférieure de la freebox).
Ici: 00:24:d4:de:ad:20
- L'adresse ip full stack de votre connexion ipv4: (dispo dans l'interface web de votre freeboxos ou sur votre espace client free )
ici: 82.69.69.236
- Le préfixe ipv6 attribué par free: (visible dans votre interface freeboxos dans l'encart délégation de préfixe, ou sur votre espace client)
ici: 2a01:dead:beef:51d0
Pour cette configuration, je pars du principe que vous avez déjà installé Vyos sur votre routeur, et que vous connaissez les principales commandes de paramétrage.
Pour cet exemple, j'ai 3 interface physique sur mon routeur:
eth0: interface connectée à l'ONT
eth1: interface LAN "général"
eth2: interface DMZ connecté à mon serveur@home
Vyos ne disposant pas du protocole map-e, les connexions sont crées manuellement en forçant les IP à la main.
Si pour une raison quelqonque Free change vos IP, il faudra modifier le paramétrage.
C'est parti, allons y
#Création du lien ipv6
configure
#On paramètre l'interface physique.
set interfaces ethernet eth0 description 'Fibre'
set interfaces ethernet eth0 mac '00:24:d4:de:ad:20' #MODIFIER ICI AVEC VOTRE ADRESS MAC.
set interfaces ethernet eth0 mtu '1700'
#Création du lien ipv6 sur le VLAN 836
set interfaces ethernet eth0 vif 836 address 'dhcpv6'
set interfaces ethernet eth0 vif 836 address '2a01:dead:beef:51d0:0:ffff:ffff:0/128' #METTRE ICI VOTRE PREFIXE IPV6 (ne pas changer la terminaison 0:ffff:ffff:0/128)
set interfaces ethernet eth0 vif 836 description 'WAN_ipv6'
set interfaces ethernet eth0 vif 836 ipv6 address autoconf
set interfaces ethernet eth0 vif 836 mtu '1700'
commit
save
exit
A ce stade, vous devriez avoir une connexion ipv6 fonctionnelle.
Faire un ping vers le serveur DNS de Free :
ping -6 -c4 2a01:e00::2
Si ca fonctionne, vous pouvez passer à la suite, sinon, revérifier tout depuis le début.
configure
#On définit le dns v6 de free. (vous pourrez le remplacer à votre guise pour la suite)
set system name-server '2a01:e00::2'
commit
save
exit
Désormais, on devrais pouvoir faire un ping ou une requête http en ipv6:
ping -6 -c 4 www.free.fr
curl -v -6 www.free.fr
Ca roule ? On continue!
configure
#Création du tunnel IPIP6
set interfaces tunnel tun0 address '82.69.69.236/32' #RENSEIGNEZ ICI VOTRE IP V4
set interfaces tunnel tun0 description 'WAN_ipv4full'
set interfaces tunnel tun0 encapsulation 'ipip6'
set interfaces tunnel tun0 mtu '1500'
set interfaces tunnel tun0 parameters ip ttl '64'
set interfaces tunnel tun0 parameters ipv6 encaplimit 'none'
set interfaces tunnel tun0 parameters ipv6 flowlabel '0x00000'
set interfaces tunnel tun0 parameters ipv6 hoplimit '64'
set interfaces tunnel tun0 parameters ipv6 tclass '0x00'
set interfaces tunnel tun0 remote '2a01:e00:29:200a::fffd'
set interfaces tunnel tun0 source-address '2a01:dead:beef:51d0:0:ffff:ffff:0' #METTRE ICI VOTRE PREFIXE IPV6 (ne pas changer la terminaison 0:ffff:ffff:0/128)
commit
save
exit
Si Dieu veut (et vous aussi) , vous avez désormais une connexion ipv4 fonctionnelle.
On teste:
ping -4 -c 4 212.27.40.240
ping -4 -c 4 www.free.fr
curl -v -4 www.free.fr
Allons y maintenant pour définir nos réseaux coté LOCAL: (A personaliser pour vous bien sur !)
configure
#Définition de l'adressage pour ETH1:
set interfaces ethernet eth1 address '192.168.1.254/24'
set interfaces ethernet eth1 description 'LAN_General'
set interfaces ethernet eth1 ipv6 address autoconf
#On demande à Free une délégation d'un prefixe ipv6 en /64 pour ce réseau.
set interfaces ethernet eth0 vif 836 dhcpv6-options pd 1 interface eth1 address '1'
set interfaces ethernet eth0 vif 836 dhcpv6-options pd 1 interface eth1 sla-id '1'
set interfaces ethernet eth0 vif 836 dhcpv6-options pd 1 length '56'
#Définition de l'adressage pour ETH2:
set interfaces ethernet eth2 address '192.168.2.254/24'
set interfaces ethernet eth2 description 'LAN_DMZ'
set interfaces ethernet eth2 ipv6 address autoconf
#On demande à Free une délégation d'un prefixe ipv6 en /64 pour ce réseau.
set interfaces ethernet eth0 vif 836 dhcpv6-options pd 2 interface eth2 address '1'
set interfaces ethernet eth0 vif 836 dhcpv6-options pd 2 interface eth2 sla-id '2'
set interfaces ethernet eth0 vif 836 dhcpv6-options pd 2 length '56'
#J'active un serveur DHCPv4 pour chacun de ces réseaux:
set service dhcp-server shared-network-name LAN_General domain-name 'local'
set service dhcp-server shared-network-name LAN_General name-server '192.168.1.254'
set service dhcp-server shared-network-name LAN_General ntp-server '192.168.1.254'
set service dhcp-server shared-network-name LAN_General subnet 192.168.1.0/24 default-router '192.168.1.254'
set service dhcp-server shared-network-name LAN_General subnet 192.168.1.0/24 range 1 start '192.168.1.50'
set service dhcp-server shared-network-name LAN_General subnet 192.168.1.0/24 range 1 stop '192.168.1.150'
set service dhcp-server shared-network-name LAN_General subnet 192.168.2.0/24 default-router '192.168.2.254'
set service dhcp-server shared-network-name LAN_General subnet 192.168.2.0/24 range 1 start '192.168.2.50'
set service dhcp-server shared-network-name LAN_General subnet 192.168.2.0/24 range 1 stop '192.168.2.150'
#On met en place le RA pour ipv6 sur ces interfaces
set service router-advert interface eth1 default-lifetime '300'
set service router-advert interface eth1 default-preference 'high'
set service router-advert interface eth1 hop-limit '64'
set service router-advert interface eth1 interval max '30'
set service router-advert interface eth1 link-mtu '1500'
set service router-advert interface eth1 other-config-flag
set service router-advert interface eth1 prefix ::/64 preferred-lifetime '300'
set service router-advert interface eth1 prefix ::/64 valid-lifetime '900'
set service router-advert interface eth1 reachable-time '900000'
set service router-advert interface eth2 default-lifetime '300'
set service router-advert interface eth2 default-preference 'high'
set service router-advert interface eth2 hop-limit '64'
set service router-advert interface eth2 interval max '30'
set service router-advert interface eth2 link-mtu '1500'
set service router-advert interface eth2 other-config-flag
set service router-advert interface eth2 prefix ::/64 preferred-lifetime '300'
set service router-advert interface eth2 prefix ::/64 valid-lifetime '900'
set service router-advert interface eth2 reachable-time '900000'
#J'active un relais dns pour ces deux réseaux
set service dns forwarding allow-from '192.168.1.0/24'
set service dns forwarding allow-from '192.168.2.0/24'
set service dns forwarding allow-from '2a01:dead:beef:51d0::/60' #REMPLACER ICI PAR VOTRE PREFIXE IPV6
set service dns forwarding cache-size '0'
set service dns forwarding listen-address '192.168.1.254'
set service dns forwarding listen-address '192.168.2.254'
set service dns forwarding name-server 1.1.1.1
set service dns forwarding name-server 9.9.9.9
set service dns forwarding system
#J'active un serveur ntp
set service ntp allow-client address '0.0.0.0/0'
set service ntp allow-client address '::/0'
set service ntp server time1.vyos.net
set service ntp server time2.vyos.net
set service ntp server time3.vyos.net
commit
save
exit
A ce stade, vous devriez avoir une ipv6 sur chacun des réseaux locaux. On voit que la délégation de préfixe fonctionne bien.
vyos@vyos:~$ show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface IP Address S/L Description
--------- ---------- --- -----------
eth0 - u/u Fibre
eth0.836 2a01:e03:b:f836:7b2f::11a/128 u/u WAN_ipv6
2a01:dead:beef:51d0:0:ffff:ffff:0/128
eth1 192.168.1.254/24 u/u LAN_General
2a01:dead:beef:51d1:456:fcff:fe4e:4891/64
2a01:dead:beef:51d1::1/64
eth2 192.168.2.254/24 u/u LAN_DMZ
2a01:dead:beef:51d2:1091:71ff:fe6e:3662/64
2a01:dead:beef:51d2::1/64
lo 127.0.0.1/8 u/u
::1/128
tun0 82.69.69.236/32 u/u WAN_ipv4full
Toutes vos machines du réseaux (compatibles ipv6) doivent maintenant avoir une connectivité ip6.
Il nous reste à mettre en place du NAT sur ipv4 :
configure
#mise en place du NAT
set firewall group network-group LAN_v4 network '192.168.1.0/24'
set firewall group network-group LAN_v4 network '192.168.2.0/24'
set nat source rule 10 description 'NAT-LAN-TO-WAN'
set nat source rule 10 outbound-interface 'tun0'
set nat source rule 10 source group network-group 'LAN_v4'
set nat source rule 10 translation address 'masquerade'
#J'en profite pour faire une redirection de port HTTPS vers mon serveur en DMZ
set nat destination rule 1010 description 'Port Forward: HTTPS to 192.168.2.10'
set nat destination rule 1010 destination port '443'
set nat destination rule 1010 inbound-interface 'tun0'
set nat destination rule 1010 protocol 'tcp'
#et le Hairpin NAT associé:
set nat destination rule 1011 description 'NAT Reflection: HTTPS to 192.168.2.10'
set nat destination rule 1011 destination address '82.69.69.236' #METTRE ICI VOTRE IP PUBLIQUE FREE
set nat destination rule 1011 destination port '443'
set nat destination rule 1011 inbound-interface 'eth1.4'
set nat destination rule 1011 protocol 'tcp_udp'
set nat destination rule 1011 translation address '192.168.2.10'
set nat source rule 1011 description 'NAT Reflection: HTTPS to 192.168.2.10'
set nat source rule 1011 destination address '192.168.2.0/24'
set nat source rule 1011 outbound-interface 'eth2'
set nat source rule 1011 protocol 'tcp_udp'
set nat source rule 1011 source address '192.168.1.0/24'
set nat source rule 1011 translation address 'masquerade'
commit
save
exit
A ce stade, vous devriez avoir le net en ipv4 et ipv6 sur toutes vos machines.... Mais vous êtes nus comme un ver sans firewall.
Si vous regardez vos logs, vous devez voir les tentatives incessantes de connexions sur votre ssh
monitor log
Dites vous que c'est pareil sur toutes vos machines à l'intérieur du réseau qui ont une connectivité ipv6...
La suite dans le message suivant...