Koyyote
Posts: 1
Joined: Mon Jun 04, 2018 3:48 am

Problème pour partager ma connexion internet

Mon Jun 04, 2018 6:58 am

Bonjour,

J'essaye désespérément depuis 2 semaines de résoudre le problème suivant :

J'ai un router WI-FI, fourni par mon opérateur Internet. Ce router est très limité et ne me permet pas, par exemple, de bloquer l'accès à internet à certaines machines, ou faire de la réservation DHCP, etc...

J'ai donc décidé de remédier au problème avec un PI 3 B. Voici ce que je veux faire :
- Je veux conserver ma box pour qu'elle fournisse l'accès Internet.
- Le serveur DHCP de la box est désactivé.
- J'ai installé isc-dhcp-server sur le PI pour fournir les adresses IP.
- Je veux que tous les périphériques de la maisons se connectent via le PI, que ce soit mes 2 PC via ethernet, ou les smartphones de la famille en Wi-Fi;
- Je veux que tout le monde soit sur le même sous-réseaux (192.168.0.XXX).
- Enfin, je veux que tout les flux de/vers Internet transitent par le proxy transparent installé sur mon PI

J'ai donc configuré mon PI pour jouer le rôle de hotspot wifi (avec hostapd), et j'ai bridgé les 2 interfaces eth0 et wlan0 pour n'avoir qu'un seul sous-réseau comme je le voulais.

Finalement, ça fonctionne bien. J'ai une interface br0 visible, avec comme IP fixe 192.168.0.250. Tout va bien. Mon PC et mon smartphone se connectent l'un via ethernet, l'autre en Wi-Fi, et obtiennent bien une IP dans le sous-réseau que je veux. Cependant, depuis le PI, je n'arrive pas à accéder à Internet.

Depuis le PI, je ne parviens à pinger aucun site. Je ne comprends pas trop ce qui manque à ma configuration pour y parvenir...

Voici les éléments principaux de ma configuration :

/etc/default/isc-dhcp-server :

Code: Select all

INTERFACES="br0"
INTERFACESv4="br0"
INTERFACESv6=""

/etc/dhcpcd.conf :

Code: Select all

denyinterfaces eth0 wlan0

#interface eth0
#static ip_address=192.168.0.250/24
#static routers=192.168.0.1
#static domain_name_servers=8.8.8.8  8.8.4.4    # Google free DNS
#
#interface wlan0
#static ip_address=192.168.0.251/24
#static routers=192.168.0.1
#static domain_name_servers=8.8.8.8  8.8.4.4    # Google free DNS

/etc/network/interfaces :

Code: Select all

auto br0
iface br0 inet static
address 192.168.0.250
netmask 255.255.255.0
gateway 198.168.0.1
bridge_ports eth0 wlan0

/etc/dhcp/dhcpd.conf :

Code: Select all

subnet 192.168.0.0 netmask 255.255.255.0 {
        default-lease-time 3600;
        range 192.168.0.100 192.168.0.200;
        option subnet-mask 255.255.255.0;
        option broadcast-address 192.168.0.255;
        option routers 192.168.0.250;
}

/etc/hostapd/hostapd.conf :

Code: Select all

interface=wlan0
bridge=br0
ssid=XXXXXX
hw_mode=g
channel=7
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
wmm_enabled=0
macaddr_acl=0
auth_algs=1
wpa=2
ignore_broadcast_ssid=0
wpa_passphrase=XXXXXX
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Enfin, pour router le trafic vers Squid, j'ai ajouter les règles NAT suivants :

Code: Select all

iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.250:3128
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.0.250:3129
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3129
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

Une fois le PI démarré, la configuration réseau me parait OK :

Code: Select all

br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.250  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::ba27:ebff:fe7f:e20b  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:2a:b7:5e  txqueuelen 1000  (Ethernet)
        RX packets 11816  bytes 1884758 (1.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 10221  bytes 920408 (898.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether b8:27:eb:7f:e2:0b  txqueuelen 1000  (Ethernet)
        RX packets 15890  bytes 3827145 (3.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 44468  bytes 4268325 (4.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Boucle locale)
        RX packets 2335  bytes 221226 (216.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2335  bytes 221226 (216.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether b8:27:eb:2a:b7:5e  txqueuelen 1000  (Ethernet)
        RX packets 34268  bytes 2871658 (2.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 12154  bytes 3564503 (3.3 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Et voici mes routes :

Code: Select all

Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
default         198.168.0.1     0.0.0.0         UG    0      0        0 br0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 br0
Tout cela me parait OK. 192.168.0.1 est bien l'IP de ma box. Je peux la pinger sans problèmes depuis le PI.

Je crois que j'ai donné toutes les informations qui me semblent utiles. J'espère n'avoir rien oublié.

Si quelqu'un a une idée de l'origine de mon problème, je suis preneur.

Merci d'avance.

epoch1970
Posts: 1651
Joined: Thu May 05, 2016 9:33 am
Location: Paris, France

Re: Problème pour partager ma connexion internet

Mon Jun 04, 2018 11:53 am

Ceci:

Code: Select all

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
ne sert à rien et peut être éliminé.

Dans la configuration statique du Pi, il n'y a pas de DNS déclaré. Dans /etc/network/interfaces, ceci :

Code: Select all

...
bridge_ports eth0 wlan0
dns-nameservers 8.8.8.8 8.8.4.4
# au-cas-où et tant qu'on y est...
#dns-domain mon.lan
#dns-search mon.lan un.autre
devrait corriger le problème.
L'entrée correspondante doit apparaitre dans /etc/resolv.conf après un reboot (de préférence), sinon après un ifdown/ifup br0.

Le routeur doit cesser de faire serveur DHCP, sinon les 2 serveurs entrent en conflit.

Dnsmasq pourrait être utile. Il fait serveur DHCP (à la place de dhcpcd) et serveur cache DNS. Il est aisé de le configurer pour bloquer des domaines DNS, ex. "address=/yout ube.com/127.0.0.1". La protection peut être contournée facilement mais c'est toujours une couche de plus.
"S'il n'y a pas de solution, c'est qu'il n'y a pas de problème." Les Shadoks, J. Rouxel

Return to “Français”

Who is online

Users browsing this forum: No registered users and 2 guests