Aller au contenu

[OpenBSD] Problèmes pour faire un routeur (wifi)


Messages recommandés

J'essaye de m' "entraîner" à faire un routeur sous OpenBSD et j'ai quelques difficultés :whistle:

Je suis passé en CURRENT parce que j'utilise une carte PCI Wifi Ovislink avec le chip Realtek 2500, et le driver ral de la RELEASE et de STABLE ne fonctionnent pas en mode AP.

Donc après ce passage, je fais un peu tout ce qu'il faut :

ip.inet.forwarding = 1 dans /etc/sysctl.conf

je configure dhcpd

et le réseau est un peu particulier puisque je fais que tester...

Je vous explique.

J'ai un routeur US Robotics que j'appelerai USR par la suite. La bécane sous OpenBSD s'appellera Fixe, et mon PC portable s'appellera Portable :)

Donc, USR est relié au net, et du coté LAN il a l'IP 192.168.1.1.

Il file en DHCP les addresses entre 192.168.1.2 et .99

Au-delà de 100 c'est les addresses pour ceux qui veulent une IP fixe.

Sur Fixe j'ai donc une carte PCI ethernet nommée re0, et une carte PCI Wifi nommée ral0.

re0 est donc reliée au routeur, elle est config en DHCP et reçoit 192.168.1.7

ral0 est configurée comme suit :

inet 192.168.2.1 255.255.255.0 NONE -bssid mediaopt hostap nwid Fixe.sufflope.net -nwkey

Comme vous pouvez le voir je voudrais que les postes en Wifi soient dans 192.168.2.0/24

Jusque là tout va bien, quand je scanne je vois bien l'AP désiré.

Mes deux problèmes :

1°) le DHCP

J'ai configuré dhcpd pour écouter sur ral0 dans /etc/dhcpd.interfaces, et il est bien lancé au démarrage.

Malheureusement quand j'essaie de me connecter ça marche pas, je ne reçois aucune addresse...

Pourtant dans /var/db/dhcpd.leases j'ai bien un log d'addresses attribuées, avec la bonne addresse MAC de la carte wifi de Portable :(

Voilà ma conf :

shared-network WIRELESS-NET {

        option  domain-name "sufflope.net";

        option  domain-name-servers 192.168.2.1;

        subnet 192.168.2.0 netmask 255.255.255.0 {

                option routers 192.168.2.1;

                range 192.168.2.2 192.168.2.99;

        }

}

(P.S. : comme le suggère la ligne domain-name-servers, j'ai bind qui tourne sur Fixe, et qui fonctionne bien)

2°) le cas des IP fixes - pas de net

Si sur Portable, au lieu de laisser le DHCP faire, je config moi-même, en mettant l'IP 192.168.2.2, le DNS 192.168.2.1, etc, j'ai apparemment aucun problème de LAN : je peux pinger Fixe avec Portable et vice-versa, et d'ailleurs avec Portable (dans 192.168.2.0/24) je peux pinger la carte ethernet de Fixe qui est dans 192.168.1.0/24, ainsi que USR.

Merveilleux !

Sauf que si je veux acceder au net... là plus rien :(

Dans USR j'ai configuré la route suivante :

Destination  Gateway  Subnet Mask

192.168.2.0    192.168.1.7  255.255.255.0

Voilà, je sais pas ce que j'ai oublié/mal fait....

Si vous avez besoin de renseignements supplémentaires que j'aurais omis n'hésitez pas (des screenshots de l'interface HTML de config de USR ? :D)

A noter : je n'ai que des notions de base lacunaires en réseau, je n'ai qu'il y a peu découvert (et pas forcément très bien assimilé :riva: ) ce que veut dire /24 dans 192.168.1.0/24, etc., alors m'en voulez pas si je vous demande de mieux expliquer :-D

Lien vers le commentaire
Partager sur d’autres sites

Je pense que pour ta route :

192.168.2.0 192.168.1.7 255.255.255.0

il serait bon de mettre plutôt :

192.168.2.0 192.168.2.1 255.255.255.0

et vérifie que la passerelle par défaut sur ton fixe est bien 192.168.1.1 (ton routeur), sinon :

route add defautl gw 192.168.1.1

Lien vers le commentaire
Partager sur d’autres sites

Pffff je me sens super ridicule :D:mad2:

J'avais oublié de mettre les règles de NAT kivontbien dans /etc/pf.conf :oops:

Maintenant ça marche :-D Y compris le DHCP :pleure:

(j'ai pas eu besoin de changer ce que tu disais, merci quand même pour ton aide :smack: )

Par contre pour les règles de pare-feu avec ce bon pf je pateauge.

Je me suis inspiré de ce (vieux) tuto pour pf.conf, en l'adaptant, et quand je charge ces règles, je peux plus "pinger" ni "ssher" Fixe depuis une adresse dans 192.168.1.0/24 (pas essayé avec .2.0), que ce soit sa carte en 192.168.1.7 ou en 192.168.2.1 :(

Si quelqu'un détecte une erreur que je persisterais à ne pas voir... Merci d'avance :)

# Network interfaces (Remember, if using PPPoE the ext. interface is tun0)

external = "re0"

wireless = "ral0"

unsafe = "{ re0, ral0 }"

# Services visible from the outside — remove any you're not using

services = "{ ssh, domain }"

# The wireless interface is not allowed to send anything to the inside

# network. It can send anything out except smtp since we don't

# want being used as a spam relay. Yes, this is paranoid. Better safe

# than sorry.

# You shouldn't need to change anything below this line

#####################################################################

# Non-routable IP numbers

nonroutable = "{ 192.168.0.0/16, 127.0.0.0/8, 172.16.0.0/12, 10.0.0.0/8,

    0.0.0.0/8, 169.254.0.0/16, 192.0.2.0/24, 204.152.64.0/23, 224.0.0.0/3,

    255.255.255.255/32 }"

# All rules are "quick" so go strictly top to bottom

# Fix fragmented packets

scrub in all

# Create two packet queues: one for regular traffic, another for

# high priority: TCP ACKs and packets with ToS 'lowdelay'

altq on $external priq bandwidth 125Kb queue { highpri_q, default_q }

queue highpri_q priority 7

queue default_q priority 1 priq(default)

# NAT

# nat: packets going out through dc0 with source addr 192.168.1.0/24

# will get translated as coming from our external address. State is

# created for such packets, and incoming packets will be redirected to

# the internal address.

# NAT: we need a rule for the inside network as well as the wireless.

#nat on $external from 192.168.1.0/24 to any -> $external

nat on $external from 192.168.2.0/24 to any -> $external

########################################################################

#  Don't bug loopback

#

pass out quick on lo0 from any to any

pass in quick on lo0 from any to any

#####################################################################

#

#  First, we deal with bogus packets.

#

#  Block any inherently bad packets coming in from the outside world.

#  These include ICMP redirect packets and IP fragments so short the

#  filtering rules won't be able to examine the whole UDP/TCP header.

#

block in log quick on $unsafe inet proto icmp from any to any icmp-type redir

#  Block any IP spoofing atempts.  (Packets "from" non-routable

#  addresses shouldn't be coming in from the outside).

#

block in quick on $external from $nonroutable to any

#  Don't allow non-routable packets to leave our network

#

block out quick on $external from any to $nonroutable

#####################################################################

#

# Wireless:  block SMTP from wireless - spam threat

#

block in quick on $wireless inet proto tcp from any to any port smtp

#

#

#####################################################################

#####################################################################

#

#  The normal filtering rules

#

#  ICMP: allow incoming ping and traceroute only

#

pass in quick on $unsafe inet proto icmp from any to any icmp-type { \

    echorep, echoreq, timex, unreach }

block in log quick on $unsafe inet proto icmp from any to any

#  TCP: Allow ssh, smtp, http and https incoming. Only match

#  SYN packets, and allow the state table to handle the rest of the

#  connection. ACKs and ToS "lowdelay" are given priority.

#

pass in quick on $external inet proto tcp from any to any port $services \

    flags S/SA keep state queue (default_q, highpri_q)

# UDP: allow DNS since I run a public nameserver (remove if you don't!)

pass in quick on $unsafe inet proto udp from any to any port domain

################

# Wireless

#

# allow connections from 192.168.2.0/24, the inside wired network.

pass out quick on $wireless inet proto tcp from any to any \

    flags S/SA keep state queue (default_q, highpri_q)

# Everyone is allowed to send UDP and ICMP out

pass out quick on $external inet proto udp  all keep state

pass out quick on $external inet proto icmp from any to any keep state

# Everything else is ok

pass in quick on $wireless from any to any

##################

#  Of course we need to allow packets coming in as replies to our

#  connections so we keep state. Strictly speaking, with packets

#  coming from our network we don't have to only match SYN, but

#  what the hell. It allows us to put those packets in the high

#  priority queue.

#

pass out quick on $external inet proto tcp from any to any \

    flags S/SA keep state queue (default_q, highpri_q)

pass out quick on $external inet proto udp  all keep state

pass out quick on $external inet proto icmp from any to any keep state

#  End of rules. Block everything to all ports, all protocols and return

#  RST (TCP) or ICMP/port-unreachable (UDP).

#

block return-rst in log quick on $unsafe inet proto tcp from any to any

block return-icmp in log quick on $unsafe inet proto udp from any to any

block in quick on $unsafe all

#

#  End of file

#

#####################################################################

Donc voilà, actuellement je n'utilise que la partie NAT de ce pf.conf et ça marche mais bon j'ai donc pas de pare-feu.

Si j'utilise toute la conf ça merde comme expliqué.

J'ai essayé de viré tous les trucs qui me parraissaient "violents" (par exemple les références à nonroutable) mais rien n'y fait... :(

Lien vers le commentaire
Partager sur d’autres sites

Bon alors sans crier gare ça remerde :byebye:

Si je config Portable avec les infos manuellement (192.168.2.2, gateway et DNS 192.168.2.1) j'ai le net et tout :-D

et si je le mets en DHCP, que dalle :pleure:

sur Fixe (en lançant dhcpd avec l'option -d pour qu'il logge sur stdrout) je vois des DHCPOFFER, DHREQUEST, de temps en temps des DHPACK,... Mais ça conclut jamais :transpi:

Et au bout d'un certain temps j'ai une ligne genre "already acking address 192.168.2.2" et j'ai effectivement une entrée dans /var/db/dhcpd.leases

Jcomprends plus rien :(

Lien vers le commentaire
Partager sur d’autres sites

  • 2 semaines après...

Bon bin voilà sans doute la réponse :francais:

Wireless AP using OpenBSD

While the dhcpd.interfaces file should be configured to listen to your network interfaces. Please note, that you should never put in the wireless interface as one of the interfaces dhcpd should be listening to. The wireless interface is not a common network interface in this sense, it only serves as a transparent beacon or a point where all wireless traffic are routed to the wired interface. Hence it should be listening on the other side of the bridge, as per this example, fxp0.

Ceci donné par le gars qui fait le driver OpenBSD pour les cartes à bases de realtek, donc ça a un certain poids... :-)

Donc ne pas mettre de serveur DHCP côté wifi, mais faire un bridge et faire écouter le DHCPD sur le filaire...

Dommage, le tuto que je suivais ne disait pas ça du tout, et faisait 2 sous réseaux, un pour le wifi et un pour le filaire, ce qui avait des avantages :love:

Reste plus qu'à tester si ça marche bien comme ça :zarb:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...