La Fibre
Datacenter et équipements réseaux => Routeurs => Remplacer la Bbox par un routeur => Discussion démarrée par: dqv69 le 27 septembre 2023 à 13:27:47
-
Bonjour,
je suis en train d'essayer de remplacer ma bbox fibre par un router nanopi R5S avec fiendlyElec (dérivé de openWrt)
https://www.friendlyelec.com/index.php?route=product/product&path=69&product_id=287
https://wiki.friendlyelec.com/wiki/index.php/NanoPi_R5S
J'ai suivi les tuto sur le forum afin de bien configurer mon interface WAN avec un VLAN 100 pour récupérer mon adresse IP publique.
ça fonctionne très bien.
Mais car il y a un mais.
Je ne parviens pas à avoir internet depuis les périphérique connectés à l'interface LAN.
J'ai également essayé de me connecter en ssh directement sur le router et de lancer des commandes ping ou nslookup, et rien ne semble sortir sur internet.
Je me demande si le problème vient de la conf du firewall sur le router, ou si c'est un blocage au niveau Bouyguetel.
comment pourrais-je déterminer la cause du problème ?
Et également comment pourrais-je le résoudre ?
Merci d'avance pour votre aide.
-
Je me réponds à moi même.
Est-ce que vous auriez besoin des différentes configuration ?
je peux mettre des copies d'écrans ou des dumps des fichiers de conf.
-
Hello, probablement un problème de Bridge ou d'absence de regle Masquerade sur le firewall ;)
En effet il serait bien d'avoir des capture écran afin de comprendre le problème ;)
-
Merci pour la réponse. voici les informations de ma configuration :
/etc/config/network
config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config globals 'globals'
option ula_prefix 'fd00:ab:cd::/48'
config device
option name 'eth0'
option macaddr 'be:1c:1b:78:7a:45'
config interface 'wan'
option proto 'dhcp'
option device 'eth0.100'
option hostname 'bbox.fr'
option vendorid 'BYGTELIAD'
option broadcast '1'
config interface 'wan6'
option device 'eth0'
option proto 'dhcpv6'
config device
option name 'br-lan'
option type 'bridge'
list ports 'eth1'
list ports 'eth2'
config device
option name 'eth1'
option macaddr 'be:1c:1b:78:7a:46'
config device
option name 'eth2'
option macaddr 'be:1c:1b:78:7a:46'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option netmask '255.255.255.0'
option ip6assign '60'
option ipaddr '192.168.10.254'
config interface 'docker'
option device 'docker0'
option proto 'none'
option auto '0'
config device
option type 'bridge'
option name 'docker0'
config device
option type '8021q'
option ifname 'eth0'
option vid '100'
option name 'eth0.100'
option mtu '1500'
option macaddr '34:DB:9C:8A:1D:48'
/etc/config/firewall
config defaults
option syn_flood '1'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option flow_offloading '1'
option fullcone '0'
config zone
option name 'lan'
list network 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
config zone
option name 'wan'
list network 'wan'
list network 'wan6'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option fullcone4 '1'
option fullcone6 '1'
option masq '1'
option mtu_fix '1'
option log '1'
config forwarding
option src 'lan'
option dest 'wan'
config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'
config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-IGMP'
option src 'wan'
option proto 'igmp'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-DHCPv6'
option src 'wan'
option proto 'udp'
option dest_port '546'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-MLD'
option src 'wan'
option proto 'icmp'
option src_ip 'fe80::/10'
list icmp_type '130/0'
list icmp_type '131/0'
list icmp_type '132/0'
list icmp_type '143/0'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Input'
option src 'wan'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
list icmp_type 'router-solicitation'
list icmp_type 'neighbour-solicitation'
list icmp_type 'router-advertisement'
list icmp_type 'neighbour-advertisement'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Forward'
option src 'wan'
option dest '*'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-IPSec-ESP'
option src 'wan'
option dest 'lan'
option proto 'esp'
option target 'ACCEPT'
config rule
option name 'Allow-ISAKMP'
option src 'wan'
option dest 'lan'
option dest_port '500'
option proto 'udp'
option target 'ACCEPT'
config include 'miniupnpd'
option type 'script'
option path '/usr/share/miniupnpd/firewall.include'
config rule
option name 'Reject-IPv6'
option family 'ipv6'
option src 'wan'
option dest '*'
option target 'REJECT'
option enabled '0'
config zone 'docker'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
option name 'docker'
list network 'docker'
config redirect
option dest 'lan'
option target 'DNAT'
option name 'SSH'
option src 'wan'
option src_dport '2223'
option dest_ip '192.168.2.1'
option dest_port '22'
Et les copies d'écrans de la conf :
-
"ip route show table all" donne quoi ?
-
default via 176.169.228.1 dev eth0.100 proto static src 176.169.230.190
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
176.169.228.0/22 dev eth0.100 proto kernel scope link src 176.169.230.190
192.168.10.0/24 dev br-lan proto kernel scope link src 192.168.10.254
broadcast 127.0.0.0 dev lo table local proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo table local proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo table local proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo table local proto kernel scope link src 127.0.0.1
broadcast 172.17.0.0 dev docker0 table local proto kernel scope link src 172.17.0.1 linkdown
local 172.17.0.1 dev docker0 table local proto kernel scope host src 172.17.0.1
broadcast 172.17.255.255 dev docker0 table local proto kernel scope link src 172.17.0.1 linkdown
broadcast 176.169.228.0 dev eth0.100 table local proto kernel scope link src 176.169.230.190
local 176.169.230.190 dev eth0.100 table local proto kernel scope host src 176.169.230.190
broadcast 176.169.231.255 dev eth0.100 table local proto kernel scope link src 176.169.230.190
broadcast 192.168.10.0 dev br-lan table local proto kernel scope link src 192.168.10.254
local 192.168.10.254 dev br-lan table local proto kernel scope host src 192.168.10.254
broadcast 192.168.10.255 dev br-lan table local proto kernel scope link src 192.168.10.254
fd00:ab:cd::/64 dev br-lan proto static metric 1024 pref medium
unreachable fd00:ab:cd::/48 dev lo proto static metric 2147483647 pref medium
fe80::/64 dev br-lan proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev eth0.100 proto kernel metric 256 pref medium
local ::1 dev lo table local proto kernel metric 0 pref medium
anycast fd00:ab:cd:: dev br-lan table local proto kernel metric 0 pref medium
local fd00:ab:cd::1 dev br-lan table local proto kernel metric 0 pref medium
anycast fe80:: dev br-lan table local proto kernel metric 0 pref medium
anycast fe80:: dev eth0.100 table local proto kernel metric 0 pref medium
anycast fe80:: dev eth0 table local proto kernel metric 0 pref medium
local fe80::36db:9cff:fe8a:1d48 dev eth0.100 table local proto kernel metric 0 pref medium
local fe80::bc1c:1bff:fe78:7a45 dev eth0 table local proto kernel metric 0 pref medium
local fe80::bc1c:1bff:fe78:7a46 dev br-lan table local proto kernel metric 0 pref medium
multicast ff00::/8 dev br-lan table local proto kernel metric 256 pref medium
multicast ff00::/8 dev eth0 table local proto kernel metric 256 pref medium
multicast ff00::/8 dev eth0.100 table local proto kernel metric 256 pref medium
-
Salut,
Merci pour ton retour. Les commandes et les captures d’écran que je vais te demander ci-dessous pourraient nous aider à mieux cerner le problème.
Depuis un terminal sur ton PC :
1. Tester la Résolution DNS :
• Pour tester la résolution DNS :
nslookup google.com
Depuis ton routeur via SSH :
2. Vérification des Règles du Firewall :
• Pour voir tes règles firewall actuelles pour IPv4 :
iptables -L -v
2.
• Pour voir tes règles NAT actuelles :
iptables -t nat -L -v
2.
• Pour voir tes règles firewall pour IPv6 :
ip6tables -L -v
3. Vérification des Logs Système :
• Pour chercher des messages d’erreur dans les logs du noyau :
dmesg | grep -i error
4. Vérification de l’État de la Connexion sur l’Interface WAN :
• Pour afficher l’état de la connexion sur l’interface WAN :
ifconfig eth0.100
5. Diagnostic Réseau :
• Pour tester la connectivité à un serveur DNS externe :
ping 8.8.8.8
5.
• Pour tracer la route vers un serveur DNS externe :
traceroute 8.8.8.8
6. Vérification des Paramètres MTU :
• Pour afficher les paramètres MTU pour toutes les interfaces :
ifconfig | grep MTU
7. Vérification des Règles de Forwarding :
• Pour vérifier si le forwarding IP est activé :
cat /proc/sys/net/ipv4/ip_forward
-
Les retours par numéro de question
1 :
nslookup google.com
;; connection timed out; no servers could be reached
2:
# Warning: iptables-legacy tables present, use iptables-legacy to see them
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
322 22048 DOCKER-USER all -- any any anywhere anywhere
322 22048 DOCKER-ISOLATION-STAGE-1 all -- any any anywhere anywhere
0 0 ACCEPT all -- any docker0 anywhere anywhere ctstate RELATED,ESTABLISHED
0 0 DOCKER all -- any docker0 anywhere anywhere
0 0 ACCEPT all -- docker0 !docker0 anywhere anywhere
0 0 ACCEPT all -- docker0 docker0 anywhere anywhere
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain DOCKER (1 references)
pkts bytes target prot opt in out source destination
Chain DOCKER-ISOLATION-STAGE-1 (1 references)
pkts bytes target prot opt in out source destination
0 0 DOCKER-ISOLATION-STAGE-2 all -- docker0 !docker0 anywhere anywhere
322 22048 RETURN all -- any any anywhere anywhere
Chain DOCKER-ISOLATION-STAGE-2 (1 references)
pkts bytes target prot opt in out source destination
0 0 DROP all -- any docker0 anywhere anywhere
0 0 RETURN all -- any any anywhere anywhere
Chain DOCKER-MAN (1 references)
pkts bytes target prot opt in out source destination
0 0 RETURN all -- br-lan docker0 anywhere anywhere
0 0 DROP all -- any docker0 anywhere anywhere ctstate INVALID,NEW
0 0 RETURN all -- any docker0 anywhere anywhere ctstate RELATED,ESTABLISHED
313 21285 RETURN all -- any any anywhere anywhere
Chain DOCKER-USER (1 references)
pkts bytes target prot opt in out source destination
313 21285 DOCKER-MAN all -- any any anywhere anywhere
0 0 REJECT all -- eth0.100 docker0 anywhere anywhere reject-with icmp-port-unreachable
322 22048 RETURN all -- any any anywhere anywhere
3:
# Warning: iptables-legacy tables present, use iptables-legacy to see them
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
147 10879 DOCKER all -- any any anywhere anywhere ADDRTYPE match dst-type LOCAL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 DOCKER all -- any any anywhere !127.0.0.0/8 ADDRTYPE match dst-type LOCAL
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE all -- any !docker0 172.17.0.0/16 anywhere
Chain DOCKER (2 references)
pkts bytes target prot opt in out source destination
0 0 RETURN all -- docker0 any anywhere anywhere
4:
# Warning: ip6tables-legacy tables present, use ip6tables-legacy to see them
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
5:
[ 2.951791] spi-nand: probe of spi4.0 failed with error -524
6:
eth0.100 Link encap:Ethernet HWaddr 34:DB:9C:8A:1D:48
inet addr:176.169.230.190 Bcast:176.169.231.255 Mask:255.255.252.0
inet6 addr: fe80::36db:9cff:fe8a:1d48/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:186 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:684 (684.0 B) TX bytes:14780 (14.4 KiB)
7:
PING 8.8.8.8 (8.8.8.8): 56 data bytes
--- 8.8.8.8 ping statistics ---
8 packets transmitted, 0 packets received, 100% packet loss
8:
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 46 byte packets
1
176.169.230.190 (176.169.230.190) 3012.010 ms !H * 2467.120 ms !H
9:
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
UP BROADCAST MULTICAST MTU:1500 Metric:1
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
UP BROADCAST MULTICAST MTU:1500 Metric:1
UP LOOPBACK RUNNING MTU:65536 Metric:1
10:
1
-
Pour essayer de résoudre les problèmes de connectivité sur votre routeur, vous pouvez suivre les étapes ci-dessous. Ces commandes vont modifier une règle spécifique dans la configuration de votre routeur.
1. Supprimer la règle MASQUERADE existante :
sudo iptables -t nat -D POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE
2. Ajouter une nouvelle règle MASQUERADE :
sudo iptables -t nat -A POSTROUTING -o eth0.100 -j MASQUERADE
Après avoir exécuté ces commandes, il serait utile de vérifier si la connectivité a été rétablie. Vous pouvez le faire en exécutant les commandes suivantes depuis votre routeur :
ping 8.8.8.8
traceroute 8.8.8.8
Ces commandes vérifieront la connectivité avec le serveur DNS public de Google.
Merci de partager les résultats ici, cela nous aidera à voir si le problème est résolu ou s'il y a encore des étapes de dépannage à suivre.
-
Merci pour les retours.
J'ai effectué les 2 modifications de règles.
Puis relancé les commandes tests depuis le router ou depuis une machine extérieures.
Mais pas mieux
Router :
root@FriendlyWrt:~# traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 46 byte packets
1 176.169.230.190 (176.169.230.190) 2341.416 ms !H 1233.378 ms !H 3117.191 ms !H
root@FriendlyWrt:~# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
ping: sendto: Network unreachable
Extérieur :
traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 64 hops max, 52 byte packets
1 * * *
2 homert (176.169.230.190) 2284.493 ms !H * 2475.652 ms !H
-
Salut
Si tu comptes pas utiliser docker sur ton "routeur", désinstalle le de ton OS (ça retirera les règles iptables).
Hum, je me demande si ton UI utilise le même backend (nft ou legacy) iptables que les commandes que tu as passé ; l'UI ne matche pas avec ce que tu nous montres.
J'ai déjà un cas tordu où il faut vraiment ne pas avoir de règles iptables dans les 2 backends (aka il faut choisir).
Tu peux nous sortir:
* iptables-nft-save
* iptables-legacy-save
-
Je viens de faire un nouvel essai.
Mais cette fois en ajoutant mon router derrière ma box.
Le port Wan en DHCP et un PC connecté sur le port LAN.
J'ai également remis l'interface wan sur le périphérique eth0 et plus sur le périphérique virtuel eth0.100
Avec cette configuration je parviens bien à accéder à internet. donc je pense que la configuration firewall fonctionne bien.
Donc pour moi soit c'est au niveau de bouygue qu'il y a un blocage.
Soit au niveau de ma configuration eth0.100.
-
Je pourrais me contenter de cette configuration, mais le problème est que je ne parviens pas à faire de la redirection de port entre internet la box puis le router.
D'après ce que j'ai lu ça viendrais du problème de double nat, mais je ne sais pas si il est possible de le résoudre
-
Tu n'aurais pas un soucis de vlan et de règle iptables (nat) dans ta première configuration ?
J'ai l'impression que tu as un mix de règle dans nftable et dans le backend legacy dans ta première config. Vire docker si tu ne comptes pas l'utiliser et configure iptables pour utiliser un des 2 backends uniquement.