Affichage des articles dont le libellé est RESEAU. Afficher tous les articles
Affichage des articles dont le libellé est RESEAU. Afficher tous les articles

mercredi 6 novembre 2024

Réseau: Comment utiliser un PC Windows + un routeur DD-WRT pour "partager" une clé 4G sur votre réseau ?

En fait, j'ai ma connexion internet qui était tombé :-(... pas de technicien avant le week-end... besoin de faire du télétravail... donc j'ai pu avoir en urgence une airbox 4 (4G) de mon opérateur Orange (dans mon cas, j'ai eu du matériel de Alcatel le MW45 "brandé"/modifié pour l'opérateur). C'est bien sympa d'avoir ce type de service mais finalement.... cela reste limité à connecter un pc, un smartphone en wifi voir une télé connecté mais pas pratique quand on a un réseau comme le mien avec des routeurs, des switchs, des appareils connectés, de la domotique, des assistants vocaux et plus d'appareil que ce que peut supporté cette petite boite (maximum 15 appareils connectés) :



Il y a aussi ces modèles mais je n'ai pas pu les tester récemment (c'est peut être des modèles que j'avais eu par le passé):




Et on voit sur internet que les gens ne sont pas super convaincu parce que l'on est de plus en plus connecté, donc une solution qui nous permettrais de connecter cette "clé" 4G sur notre box pour remplacer temporairement notre connexion ADSL ou fibre défectueuse serait l'idéal... donc mon cas, j'avais plus de connexion (problème de fibre ?!), ma box semblé aller...


Et c'était possible par le passé avec la Livebox 3 voir la 4 pro :-( ... juste en la connectant sur le port USB, c'était possible...  


Mais dans mon cas, c'est sur, impossible avec une Livebox 5 qui n'a pas la capacité de le faire même si un port USB est présent (pas de menu et confirmé par le support d'orange):


Donc il fallait que je trouve une solution : 

1) j'ai pensé utiliser la sim de cette boite, et faire du "tethering" iphone comme j'ai fait dans cet article : https://bozothegeek.blogspot.com/2020/06/internet-comment-utiliser-son-routeur.html

Mais c'est impossible, la sim est bloqué et empèche le partage de connexion :-( NOK

2) j'ai pensé utiliser le mode "mobile broadband" via l'USB de mon routeur DD-WRT mais trop complexe sans identifiant de connexion :-( NOK




3) j'ai essayé aussi sans succés le "mode client ou client bridge" pour me connecter à la clé en wifi d'orange mais sans succés (c'était peut être un prob de routing ?!) NOK


4) la dernière solution à essayer, que je voulais éviter en fait, cela fut de mettre un de mes PCs en routeur pour faire un partage de connexion sous Windows (je sais une solution avec linux aurait été mieux mais j'ai pris ce que j'avais vous la main)... et finalement, c'est pas trés écologique (mais c'est du temporaire ;-).... j'ai réussi sans trop cassé mon réseau et mes confs actuelles... et c'était le but... OK

Donc voici ce que j'ai mis en place, j'avoue que je le partage pour tous mais surtout pour moi, pour m'en rappeler pour la prochaine fois ;-)

Remarque Importante: dans mon cas, je n'utilise pas le DHCP de la box internet, cela ne me sert que de "gateway" internet. Le DHCP est dans mon routeur DD-WRT, ainsi, quand je change ou reset ma box, la configuration est simplifiée. La gestion des ips fixes, etc... se fait donc dans le routeur DD-WRT. Donc c'est pour cela que je peux me permettre de switcher d'une connection à une autre ;-)

Dans le routeur DD-WRT:

- Je suis obligé de changé la "gateway" et le "Local DNS", donc je mets l'IP du PC qui va faire le job de gateway (quand la box redeviendra fonctionnel, j'aurais juste à y remettre l'IP de la box sur le réseau local ;-): 


Dans mon cas, je reste en mode "Router" mais il faudra pas être en mode "gateway" : 


Dans mon cas, j'avais créé un bridge sur la prise ethernet "br0" dans la partie "Networking" (je ne me rappel plus vraiment pourquoi mais on verra que cela a un impacte surement) : 


Il faudra aussi regarder du côté du DNSMASQ et les option associés à "br0", il faudra aussi chnager et mettre l'IP du PC qui nous sert donc de gateway:


Dans le PC qui est déjà sur notre réseau:

On va devoir se focaliser sur la connexion "Ethernet" où notre réseau "domestique" est branché et sur la connexion "Wifi" qui est déjà connecté à la clé 4G... (je ne vous présente pas la partie connexion au wifi, c'est trés bien décrit dans la documentation fourni et les outils d'Orange)



Pour la connexion "Ethernet" je suis sur un réseau en 192.168.0.X (l'ip du pc est 192.168.0.4 comme vous avez pu le voir plus haut).

Mais pour le wifi, on est en "192.168.1.X" avec une IP de la clé 4G à "192.168.1.1"

Donc le fait que les sous réseau ne sont pas les mêmes, j'ai cru que cela était le problème mais finalement non ;-)

Donc pour la partie "Ethernet", je conseil d'aller dans les propriétés :


Pour définir les paramètres parce que l'on ne pourra pas utiliser le DHCP dans ce cas :


Donc on remets, l'IP de notre PC, un masque sous réseau permettant d'utiliser les 2 sous-réseaux en 192

.168.0.X et 192.168.1.X (255.255.0.0 au lieu de 255.255.255.0), la gateway internet en 192.168.1.1 et pour finir, les DNS de Google pour ne pas avoir de problème de résolution !

Pour la partie "Wifi", je conseil d'aller dans les propriétés aussi :

Pour vérifier les paramètres parce que dans ce cas on pourra utiliser le DHCP de la clé 4G aussi dans ce cas :


(On voit que la passerelle/gateway par défaut est bien le 192.168.1.1)

Mais ce n'est pas fini, il va falloir "partager" la connexion Wifi pour que l'on puisse faire ce partage de connexion et selectionner la bonne connection "Ethernet" que l'on souhaite utiliser: 


Et donc je crois que c'est tout...

Pour tester que tout fonctionne...

1) vous devez avoir accès à l'interface Orange de la clé 4G à partir du PC "http://192.168.1.1/index.html"  : 


2) vous devez avoir accès à l'interface de votre routeur DD-WRT:


3) vous devez pouvoir aller sur internet: 

4) et le test ultime, aller se connecter en SSH à votre routeur DD-WRT (si vous saavez faire ;-), et vérifier que vous avez accès à internet à partir du routeur : (avec un ping sur "microsoft.fr" par exemple)



Et donc par "magie", toutes votre domotique, assistants vocaux et autres objets connectés vont revivre avec le retour d'internet à leurs "port"es ;-)

Enjoy !!! 


PS: j'espère que j'ai rien oublié parce que j'ai un peu galérer à trouver la bonne conf au final




lundi 7 février 2022

Jeedom: "fail2ban or not to ban" là est la question ;-)



En fait, je fais cet article parce que suite à certaines installations de JeedomV4 hébergeant le fail2ban dans Raspbian 10 (donc sur Pi ;-) je suis tombé sur un hic... pour 2 raisons...

1) J'avais un plugin qui me généré des bannings :-(

2) Puis ensuite sur mobile avec Safari, j'avais encore eu des bannings... 

Donc je me suis rendu compte de cela dans mes logs (en allant fouiner en SSH):

2022-02-07 17:28:50,710 fail2ban.filter         [446]: INFO    [apache-multiport] Found 192.168.0.67 - 2022-02-07 17:28:50

2022-02-07 17:28:50,713 fail2ban.filter         [446]: INFO    [apache-multiport] Found 192.168.0.67 - 2022-02-07 17:28:50

2022-02-07 17:28:50,715 fail2ban.filter         [446]: INFO    [apache-multiport] Found 192.168.0.67 - 2022-02-07 17:28:50

2022-02-07 17:28:50,718 fail2ban.filter         [446]: INFO    [apache-multiport] Found 192.168.0.67 - 2022-02-07 17:28:50

2022-02-07 17:28:50,720 fail2ban.filter         [446]: INFO    [apache-multiport] Found 192.168.0.67 - 2022-02-07 17:28:50

2022-02-07 17:28:50,895 fail2ban.filter         [446]: INFO    [apache-multiport] Found 192.168.0.67 - 2022-02-07 17:28:50

2022-02-07 17:28:50,900 fail2ban.filter         [446]: INFO    [apache-multiport] Found 192.168.0.67 - 2022-02-07 17:28:50

2022-02-07 17:28:50,904 fail2ban.actions        [446]: NOTICE  [apache-multiport] Ban 192.168.0.67

Avec la commande suivante: 

sudo tail -f /var/log/fail2ban.log

Je me fesais bannir même mes IPs locales :-(

Donc pour faire simple, en cherchant un peu, je me suis rendu compte que le fichier de conf n'était pas parfait :-(...

Je l'ai modifié avec la commande suivante : sudo nano /etc/fail2ban/jail.d/jeedom.conf 

Et j'ai rajouté mon range d'IP locale :

[DEFAULT]
#Ne pas bloque localhost ni s'auto-bloquer.
ignoreip = 127.0.0.1/8 192.168.1.0/24 192.168.0.0/24

# ban de  60 minutes
bantime  = 28800

# on regarde les attaques sur les 2 dernières heures. Les 5 minutes par défaut, ça ne marche plus, les pirates se sont adaptés
findtime = 7200
maxretry = 3

# on surveille tous les ports
banaction = iptables-multiport

# action a prendre: ban + log détaillé
action = %(action_)s

[apache-multiport]
enabled = true
port      = http,https
filter    = apache-auth
logpath   = /var/www/html/log/http*.error
maxretry = 3

[apache-botsearch]
enabled  = true
port     = http,https
filter   = apache-botsearch
logpath   = /var/www/html/log/http*.error
maxretry = 6

[apache-overflows]
enabled  = true
port     = http,https
filter   = apache-overflows
logpath   = /var/www/html/log/http*.error
maxretry = 2
.....
Et j'avais dans les logs HTTP d'apache ceci aussi:

[Mon Feb 07 22:05:40.787174 2022] [access_compat:error] [pid 1431] [client 192.168.0.151:55326] AH01797: client denied by server configuration: /var/www/html/core/css/icon/animal/fonts/animal.eot, referer: http://192.168.0.11/index.php?v=m
[Mon Feb 07 22:05:46.658984 2022] [access_compat:error] [pid 1422] [client 192.168.0.151:55327] AH01797: client denied by server configuration: /var/www/html/core/css/icon/animal/fonts/animal.eot, referer: http://192.168.0.11/index.php?v=m
[Mon Feb 07 22:05:52.529226 2022] [access_compat:error] [pid 1390] [client 192.168.0.151:55328] AH01797: client denied by server configuration: /var/www/html/core/css/icon/animal/fonts/animal.eot, referer: http://192.168.0.11/index.php?v=m

Ensuite j'ai du débannir avec la commande suivante :

sudo fail2ban-client set apache-multiport unbanip 192.168.0.67

Attention, il y a un autre fichier ici (/var/www/html/install/fail2ban.jeedom.confmais il ne semble pas être utilisé dans mon cas (l'installation a merdé peut être ?!) mais je pense surtout que c'est un exemple.. mais j'ai pas tout compris je crois ;-) donc faite comme moi !!!

Enjoy !!!



mercredi 2 septembre 2020

Réseau : comment se libérer des blocages d'internet ?! ;-) DPI & VPN OFUSCATION...

Dans cette article, on va voir comment se libérer de certains blocages des opérateurs ADSL, fibre, etc...

Photos gratuites de bande passante, base de données, câble

En fait, la neutralité du net n'est plus respecté depuis longtemps et cela pose problème parfois pour nos usages d'internet. Parfois l'opérateur peut bloquer certains sites et aussi certains type de flux (https, ftp, streaming, peer2peer, vpn, etc...).

Les premier blocages que l'on rencontre habituellement sont sur l'accès à une IP voir à un port donné :-(.

Dans ce cas, on peut passer par des proxy gratuit mais souvent on fini par utiliser un VPN.

Comme vous avez pu le voir dans mes articles précédent, j'utilise maintenant NordVPN, 

Onze Nordvpn ervaringen is zeer goed te noemen een uitstekende VPN

mais je confirme que finalement j'ai du l'utiliser aussi pour avoir accès à certains sites finalement bloqué par les opérateurs.

Mais je me suis rendu compte que cela me permet d’accéder mais pas forcement d'utiliser, parce que l'opérateur peut aussi bloquer de manière "protocolaire" sans connaitre l'IP que l'on veut accéder :-(

Par exemple, il peut considérer que le streaming de video est proscris et je me suis vu interdit de voir certaines vidéos qui était finalement légale.... :-(

Par exemple, à travers le VPN, je pouvais "pinger" un site mais dès que je lançais la vidéo, elle était bloqué :-( WTF ?!

Donc j'ai découvert ce qui se tramait... ;-)

Finalement, le VPN n'est pas suffisant parce que les opérateurs peuvent aussi utiliser le DPI (Deep packet inspection) quand on utilise un VPN comme NordVPN pour identifier nos usages... pas vraiment neutre cela !

Deep Packet Inspection- A Data Insight | ALTEN Calsoft Labs' Blog

En fait, c'est généralement des outils pour les opérateurs qui recherchent des signatures d'applications et ainsi identifié les usages d'internet pour limiter la bande passante mais aussi bloqué certains sites blacklistés. 

Pour cela, un VPN configuré dans son plus simple appareil n'est pas suffisant.

Si on configure OpenVPN (en UPD ou TCP) ou même avec la technologie wireGuard, cela ne change rien, l'opérateur pourra bloquer même si le canal est crypté.

Donc finalement, les fournisseurs de VPN ont trouvé la parage, il faut offusqué le canal VPN.

On appel cela "Ofuscated VPN".

Donc dans NordVPN, il y a une option mais cela ne marche qu'avec OpenVPN et de préférence en UDP. Donc on va devoir oublier la vélocité de NordLynx pour l'instant :-(

Donc par rapport à mon installation actuel utilisant "NordLynx" la solution Wireguard  pour NordVPN, :

pi@VPNGATEWAY:~ $ nordvpn status
Status: Connected
Current server: fr128.nordvpn.com
Country: France
City: Paris
Your new IP: 4X.1XX.1XX.XX
Current technology: NordLynx
Transfer: 36.37 MiB received, 2.89 MiB sent
Uptime: 2 hours 24 minutes 14 seconds
pi@VPNGATEWAY:~ $

Donc j'ai du revenir en OpenVPN et en UDP avec les commandes suivantes sur mon raspbian :

pi@VPNGATEWAY:~ $ nordvpn set technology openvpn
Technology is successfully set to 'OpenVPN'.
You are connected to NordVPN. Please reconnect to enable the setting.
pi@VPNGATEWAY:~ $ nordvpn set protocol udp
Protocol is successfully set to 'UDP'.
You are connected to NordVPN. Please reconnect to enable the setting.
pi@VPNGATEWAY:~ $

On configure en "obfuscated" 

pi@VPNGATEWAY:~ $ nordvpn set obfuscate enable
Obfuscation is successfully set to 'enabled'.
You are connected to NordVPN. Please reconnect to enable the setting.
pi@VPNGATEWAY:~ $

Et pour finir on relance le VPN pour prendre en compte la nouvelle configuration:

pi@VPNGATEWAY:~ $ nordvpn d
You are disconnected from NordVPN.
How would you rate your connection quality on a scale from 1 (poor) to 5 (excellent)? Type 'nordvpn rate [1-5]'.
pi@VPNGATEWAY:~ $ nordvpn c
Connecting to France #500 (fr500.nordvpn.com)
You are connected to France #500 (fr500.nordvpn.com)!
pi@VPNGATEWAY:~ $

*: pour des raisons de sécurité, c'est possible que l'on vous redemande votre login/password de temps en temps sur la commande "nordvpn c" ou "nordvpn connect".

Maintenant, on peut vérifier le statut et la configuration actuelle:

pi@VPNGATEWAY:~ $ nordvpn status
Status: Connected
Current server: fr500.nordvpn.com
Country: France
City: Paris
Your new IP: 212.83.148.182
Current technology: OpenVPN
Current protocol: UDP
Transfer: 13.28 KiB received, 7.92 KiB sent
Uptime: 3 minutes 56 seconds
pi@VPNGATEWAY:~ $ nordvpn settings
Technology: OpenVPN
Protocol: UDP
Kill Switch: disabled
CyberSec: disabled
Obfuscate: enabled
Notify: disabled
Auto-connect: disabled
DNS: disabled
Whitelisted ports:
       22 (UDP|TCP)
pi@VPNGATEWAY:~ $

Attention, on voit qu'il faut aussi réactiver l'auto connect si on le souhaite pour le prochain reboot (je conseil de mettre "on fr" pour des raisons de performance en générale à partir de la france):

pi@VPNGATEWAY:~ $ nordvpn set autoconnect on fr
Auto-connect is set to 'enabled' successfully.
pi@VPNGATEWAY:~ $

Pour se rassuer, on peut aussi faire un "speedtest":

pi@VPNGATEWAY:~ $ speedtest

   Speedtest by Ookla

     Server: SFR - Paris (id = 12746)
        ISP: Dedibox SAS
    Latency:    13.88 ms   (0.65 ms jitter)
   Download:     9.39 Mbps (data used: 6.6 MB)
     Upload:     1.32 Mbps (data used: 2.1 MB)
Packet Loss:     0.0%
 Result URL: https://www.speedtest.net/result/c/4ef95054-9ef0-4b12-acf8-836dfe364ae2
pi@VPNGATEWAY:~ $

Et voilà, maintenant, on ne devrait plus avoir de blocages... Enjoy !!!

P.S: Si vous voulez plus d'info sur l'installation de ma VPN gateway, merci de regarder mes articles précédents sur les usages du VPN et de NordVPN en particulier parce qu'il faut bien en choisir un ;-)  : http://bozothegeek.blogspot.com/search?q=nordvpn

ANNEXE (si vous étiez en NordLynx précédemment) :

Attention, il faudra dans le cadre de la gateway, reconfigurer le NAT et le firewall utilisant la connection "tun0" et pas "NordLynx":

pi@raspberrypi:~ $ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.150  netmask 255.255.255.0  broadcast 192.168.0.255
        ether b8:27:eb:f1:e7:f9  txqueuelen 1000  (Ethernet)
        RX packets 17780  bytes 2084254 (1.9 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2675  bytes 1163905 (1.1 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
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1420
        inet 10.5.0.2  netmask 255.255.0.0  destination 10.5.0.2
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 500  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1  bytes 48 (48.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


Donc on re-active le NAT maintenant pour cet interface:

sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Et on redirige les traffics entrant/sortant dans cet interface de ce VPN::

sudo iptables -A FORWARD -i eth0 -o tun0 -j ACCEPT

sudo iptables -A FORWARD -i tun0 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

Pour finir on lance la commande pour sauvegarder la configuration et rendre cela permanent après reboot :
(si cela ne marche pas, vous n'avez pas fait le tuto précédent surement et installé ce qu'il faut ou vous n'êtes pas sur debian ou raspbian ;-)

sudo netfilter-persistent save

P.S: pendant mes manipulations j'ai fait des erreurs, si besoin il faudra faire un cleaning de l'iptable avec ces commandes avant de la refaire:

sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT