Je souligne que techniquement, ce tuto vise l'utilisation d'une authentification PPPoE, en IPv4 non fixe, utilisant les Vlan 835 pour internet, 838 pour la VOD, 840 pour la TV et 851 pour la téléphonie, avec conservation de la LB.
Je précise ça parce qu'il y a plusieurs solutions, en PPPoE ou DHCP, avec et sans conservation de la LB. Donc ici, c'est avec LB, avec IPv4 exclusivement, et non fixe.
Eth0 = Livebox
Eth1 = ONT
Eth2 à Eth4 = Switch accéléré.
Voici donc mon post de la page 102,
L'objectif est d'intercaler un vrai routeur/FW entre sa fibre et sa livebox, à même faire autre chose que regarder la tv et zapper youtube. Un vrai routeur qui permette d'organiser comme il faut son propre hébergement.
Merci à tous les intervenants, et notamment à c0mm0n qui a passé des jours et des jours l'an dernier à tout réverse ingénierer. Merci à lui, vraiment, parce qu'il a fait un travail remarquable.
Voici ma conf de routeur Ubiquiti EdgeMax PoE 5 ports configuré comme suit:
eth0 => LB
eth1 => ONT
eth2,3,4 => LAN, en swtich avec dhcp sur 192.168.1.0
L'utilisation ensemble des 3 ports eth2, 3 et 4 semble liée à une particularité des modèles 5 ports. Si je mets la sortie LAN sur eth0, je ne bénéficie pas de la performance maximale de ma ligne, et ça "plafonne" à 520Mbps (tout de même), et la téléphonie ne fonctionne pas, de même que les décodeurs TV. Autant dire que si l'offre n'avait pas évolué en 1Gbps, je ne m'en serais pas rendu compte du manque de débit et je me serai, qui sait, lassé de tester pleins d'options.
Préalable, changer l'IP de la LB pour 192.168.2.21, la rebooter.
Rebooter le ou les décodeurs.
Débrancher LB et décodeurs.
Redémarrer le routeur en configuration par défaut en épinglant le bouton reset 10s pendant qu'on insère l'alimentation.
Brancher l'ordinateur utilisé pour paramétrer le routeur sur l'interface eth0 en 192.168.1.x et route par défaut sur l'IP d'origine du routeur, 192.168.1.1
Voici ma configuration.
firewall {
all-ping enable
broadcast-ping disable
ipv6-receive-redirects disable
ipv6-src-route disable
ip-src-route disable
log-martians enable
name WAN_IN {
default-action drop
description "packets from Internet to LAN"
enable-default-log
rule 1 {
action accept
description "allow established sessions"
log disable
protocol all
state {
established enable
invalid disable
new disable
related enable
}
}
rule 2 {
action drop
description "drop invalid state"
log disable
protocol all
state {
established disable
invalid enable
new disable
related disable
}
}
}
name WAN_LOCAL {
default-action drop
description "packets from Internet to the router"
rule 1 {
action accept
description "allow established session to the router"
log disable
protocol all
state {
established enable
invalid disable
new disable
related enable
}
}
rule 2 {
action drop
description "drop invalid state"
log disable
protocol all
state {
established disable
invalid enable
new disable
related disable
}
}
}
options {
mss-clamp {
mss 1452
}
}
receive-redirects disable
send-redirects enable
source-validation disable
syn-cookies enable
}
interfaces {
bridge br0 {
}
ethernet eth0 {
address 192.168.2.1/24
description LIVEBOX
duplex auto
speed auto
vif 835 {
}
vif 838 {
bridge-group {
bridge br0
}
description TV
}
vif 840 {
bridge-group {
bridge br0
}
description TV
}
vif 851 {
bridge-group {
bridge br0
}
description VoIP
}
}
ethernet eth1 {
description Internet
duplex auto
speed auto
vif 835 {
address dhcp
description FTTH
pppoe 0 {
default-route auto
firewall {
in {
name WAN_IN
}
local {
name WAN_LOCAL
}
}
mtu 1492
name-server auto
user-id fti/user
password secret
}
}
vif 838 {
bridge-group {
bridge br0
}
description TV
}
vif 840 {
bridge-group {
bridge br0
}
description TV
}
vif 851 {
bridge-group {
bridge br0
}
description VoIP
}
}
ethernet eth2 {
duplex auto
poe {
output off
}
speed auto
}
ethernet eth3 {
duplex auto
poe {
output off
}
speed auto
}
ethernet eth4 {
duplex auto
poe {
output off
}
speed auto
}
loopback lo {
}
switch switch0 {
address 192.168.1.1/24
description SWITCH
mtu 1500
switch-port {
interface eth2
interface eth3
interface eth4
}
}
}
service {
dhcp-server {
disabled false
hostfile-update disable
shared-network-name SWITCH {
authoritative disable
subnet 192.168.1.0/24 {
default-router 192.168.1.1
dns-server 192.168.1.1
lease 86400
start 192.168.1.2 {
stop 192.168.1.200
}
}
}
shared-network-name LIVEBOX {
authoritative enable
subnet 192.168.2.0/24 {
default-router 192.168.2.1
dns-server 192.168.2.1
lease 86400
start 192.168.2.22 {
stop 192.168.2.200
}
}
}
}
dns {
forwarding {
cache-size 1000
listen-on eth0
listen-on switch0
}
}
gui {
https-port 443
}
mdns {
reflector
}
nat {
rule 5010 {
outbound-interface pppoe0
type masquerade
}
}
ssh {
port 22
protocol-version v2
}
upnp2 {
listen-on eth0
listen-on switch0
nat-pmp enable
secure-mode disable
wan pppoe0
}
pppoe-server {
dns-servers {
server-1 80.10.246.2
server-2 80.10.246.129
}
authentication {
local-users {
username fti/user {
password secret
}
}
mode local
}
client-ip-pool {
start 192.168.2.210
stop 192.168.2.220
}
interface eth0.835
mtu 1492
}
}
system {
config-management {
commit-revisions 50
}
host-name ubnt
login {
user ubnt {
authentication {
encrypted-password $1$zKNoUbAo$gomzUbYvgyUMcD436Wo66.
}
level admin
}
}
name-server 8.8.8.8
name-server 8.8.4.4
ntp {
server 0.ubnt.pool.ntp.org {
}
server 1.ubnt.pool.ntp.org {
}
server 2.ubnt.pool.ntp.org {
}
server 3.ubnt.pool.ntp.org {
}
}
offload {
ipv4 {
forwarding enable
pppoe enable
vlan enable
}
}
package {
repository wheezy {
components "main contrib non-free"
distribution wheezy
password ""
url http://http.us.debian.org/debian
username ""
}
repository wheezy-security {
components main
distribution wheezy/updates
password ""
url http://security.debian.org
username ""
}
}
syslog {
global {
facility all {
level notice
}
facility protocols {
level warning
}
}
}
time-zone Europe/Paris
}
/* Warning: Do not remove the following line. */
/* === vyatta-config-version: "config-management@1:conntrack@1:cron@1:dhcp-relay@1:dhcp-server@4:firewall@5:ipsec@4:nat@3:qos@1:quagga@2:system@4:ubnt-pptp@1:ubnt-util@1:vrrp@1:webgui@1:webproxy@1:zone-policy@1" === */
/* Release version: v1.6.0beta1.4705702.140925.2253 */
Comme il y a un changement de schéma d'adressage, pas de stress, voici comment faire.
Dans un shell quelconque, on lance un
ping 192.168.1.1 -n 1000
On s'en servira pour repérer quand changer le câble ethernet de port. Pour l'instant ça ping tranquillement.
On se logue en ligne de commande sur le routeur, et on procède de la façon classique
cd /config
configure
load maconfig.boot
commit
Là, arrive le moment où l'interface eth0 du routeur est destinée à la LB, son IP change, et juste après que le commit ne râle de l'apparition d'une interface pppoe inconnue, le ping 192.168.1.1 indique une interface unreachable. On rebranche donc le câble reliant le PC au routeur sur le port eth2, et là, la fin du commit s'affiche.
Alors, les interfaces sont conformes au schéma demandé:
eth0 = LB
eth1 = WAN vers l'ONT
eth2 à eth4 = switch0 sur lequel le routeur sert des IPs en DHCP sur la tranche 192.168.1.0
On poursuit la configuration en sauvegardant la config
save
exit
Là, il nous manque à mettre le routeur à jour depuis les serveurs de paquets Debian mips, rajouter le support des vlans et à modifier les derniers fichiers.
Il faut lancer les commandes apt en root, après être sorti du mode configure. Inutile de coller un mot de passe au root, il suffit de taper
sudo su
et on se retrouve root
puis on tape
apt update
assez long
Il y a encore peu de temps, je conseillais l'étape suivante de apt upgrade, parce que tout allait bien il y a un an tant que ça ne mettait à jour qu'une libc ou autre composant profond sans configuration. Maintenant, ce n'est plsu le cas, et il ne faut plus le faire.
apt upgrade
[/s]
Par simplicité, même si ça hérisse le poil en terme de sécurité ( Pleins de mises à jour de sécurité de SSL, kerberos, bind9) il vaut mieux ne pas faire d'upgrade ainsi tant que Ubiquiti ne fournira pas de dépot mips adapté à EdgeOS, ce qu'ils ne feront jamais car ça permettrait de facilement dupliquer leurs efforts sur un fork.
Dans tous les cas, la version 1.8 stable du firmware est dans les tuyaux, et on va se jeter dessus pour tester IPv6, donc pour l'heure, faites sans l'upgrade.
Enfin, on lance l'installation de vlan, nécessaire chez moi en système 1.7
apt install vlan
Pensez à monter les fichiers egress.sh et script.sh dans le dossier /config/scripts/post-config.d/
Une fois fait, il faut les cocher comme exécutables avec:
chmod +x ./scripts/post-config.d/script.sh
chmod +x ./scripts/post-config.d/egress.sh
Ils sont en place, et même si ils sont logiquement en place pour être exécutés au prochain redémarrage, il convient pour l'heure de les lancer à la main la première fois, ne serait-ce que pour voir si des erreurs s'affichent...
. ./scripts/post-config.d/egress.sh
. ./scripts/post-config.d/script.sh
le second, script.sh, met à jour le fichier PPPoEServerConfig.pm, sans lequel le serveur PPPoE ne se lance pas correctement.
Ensuite, on a le net, la bonne configuration, logiquement, on peut connecter le cable de la Livebox, et l'allumer. Logiquement, elle boote et met tout au vert, téléphone inclu.
Voici les interfaces:
ubnt@ubnt:~$ show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface IP Address S/L Description
--------- ---------- --- -----------
br0 - u/u
eth0 192.168.2.1/24 u/u LIVEBOX
eth0.835 - u/u
eth0.838 - u/u TV
eth0.840 - u/u TV
eth0.851 - u/u VoIP
eth1 - u/u Internet
eth1.835 - u/u FTTH
eth1.838 - u/u TV
eth1.840 - u/u TV
eth1.851 - u/u VoIP
eth2 - u/D
eth3 - u/u
eth4 - u/D
lo 127.0.0.1/8 u/u
::1/128
pppoe0 w.x.y.z u/u
pppoes0 10.255.253.0 u/u User: (192.168.2.210)
switch0 192.168.1.1/24 u/u SWITCH
On lance les décodeurs et c'est bon.
Gnubyte