web-dev-qa-db-fra.com

UFW, autorise de wlan à eth

Je voudrais utiliser mon portable ubuntu 12.04 comme hotsport wifi sur mon smatphone. Tout se passe bien, en utilisant dnsmasq et hostapd et en autorisant les ports 68 et 53 sur UFW. Mais pour accéder au Web, l'UFW doit être désactivé. La connexion est correcte (le wifi est connecté, l'IP est correctement reçue, la requête DNS est transmise ...) Dans le journal complet UFW, je vois:

Oct  3 17:09:41 ccd-7840l kernel: [28302.397796] [UFW AUDIT] IN=wlan1 OUT=eth8 MAC=8c:...:00 SRC=192.168.0.59 DST=74.125.234.196 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=22391 DF PROTO=TCP SPT=46279 DPT=443 WINDOW=14600 RES=0x00 SYN URGP=0 
Oct  3 17:09:41 ccd-7840l kernel: [28302.397841] [UFW BLOCK] IN=wlan1 OUT=eth8 MAC=8c:...:00 SRC=192.168.0.59 DST=74.125.234.196 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=22391 DF PROTO=TCP SPT=46279 DPT=443 WINDOW=14600 RES=0x00 SYN URGP=0

Ensuite, j'ai ajouté les règles suivantes:

Sudo ufw allow from 192.168.0.59
Sudo ufw allow in on wlan1 from  192.168.0.48/28

Mais il bloque toujours. Je ne sais pas quoi rechercher sur google pour résoudre ce problème :)

1
gabriel_agm

Cette solution a fonctionné pour moi.

Tout d'abord, le transfert de paquets doit être activé dans ufw. Deux fichiers de configuration devront être ajustés, dans/etc/default/ufw, changez DEFAULT_FORWARD_POLICY en "ACCEPT":

DEFAULT_FORWARD_POLICY = "ACCEPTER"

Ensuite, éditez /etc/ufw/sysctl.conf et décommentez: (Je suppose que votre script pour démarrer le hotspot virtuel définit déjà le transfert IP. Vous pouvez donc ignorer cette étape. Ou vous pouvez supprimer la ligne de transfert IP de votre script.)

net/ipv4/ip_forward=1

De même, pour le transfert IPv6, décommentez:

net/ipv6/conf/default/forwarding=1

Nous allons maintenant ajouter des règles au fichier /etc/ufw/before.rules. Les règles par défaut configurent uniquement la table de filtrage et pour activer le masquage, la table nat devra être configurée. Ajoutez ce qui suit en haut du fichier juste après les commentaires d'en-tête: (Encore une fois, si vous avez un script que vous utilisez pour démarrer votre point d'accès, vous pouvez, ou devriez probablement supprimer à partir de là toutes les lignes relatives au masquage.)

># nat Table rules
>*nat
>:POSTROUTING ACCEPT [0:0]

># Forward traffic through eth8.
>-A POSTROUTING -s 192.168.0.0/24 -o eth8 -j MASQUERADE

># don't delete the 'COMMIT' line or these nat table rules won't be processed
>COMMIT

Les commentaires ne sont pas strictement nécessaires, mais il est considéré comme une bonne pratique de documenter votre configuration. De plus, lorsque vous modifiez l'un des fichiers de règles dans/etc/ufw, assurez-vous que ces lignes sont la dernière ligne de chaque table modifiée:

# don't delete the 'COMMIT' line or these rules won't be processed
COMMIT

Pour chaque table, une instruction COMMIT correspondante est requise. Dans ces exemples, seules les tables nat et filter sont affichées, mais vous pouvez également ajouter des règles pour les tables raw et mangle. [Remarque]

Dans l'exemple ci-dessus, remplacez eth8 et 192.168.0.0/24 par les interfaces et la plage IP appropriées pour votre réseau.

Enfin, désactivez et réactivez ufw pour appliquer les modifications:

Sudo ufw disable && Sudo ufw enable

Le masquage IP doit maintenant être activé. Vous pouvez également ajouter des règles FORWARD supplémentaires aux /etc/ufw/before.rules. Il est recommandé d'ajouter ces règles supplémentaires à la chaîne ufw-before-forward.

1
linux-newbie