Tags

arm arpaname autoinstall bin_sh blocage blosxom bsd bsdfrance cblog certification chroot cluster cos dg834 dhcp diffusion dns dnsmasq dom0 domU dovecot fail-over fail2ban fibre firefox fossil freebsd ftp git guruplug install ipsec ipv6 jail kernel kimsufi lex libre linutop liste makefile mikrotik ml150 mohawk mprdmqja nanojail netbook netbsd nginx npppd ntp ntp.org openbsd openntpd openrd opensmtpd openwrt optique orke pkgng poudriere privee proxy pxe python rc.conf rescue reverse rmll routage route rrdcgi sendmail serial sieve sjail sl2009 ssd sshd symon unbound update usb var_empty vimperator vpn world xen yacc zfs

Powered by

blOg
maRkdown
awK
shEll

16/06/2017

[ mprdmqja vpn ipsec npppd ]

201706162015 mprdmqja vpn ipsec npppd

OpenBSD

Ou comment monter un serveur vpn avec 4 fichiers de configuration. C'est bô.

OpenBSD - /etc/ipsec.conf

ike passive esp transport \
  proto udp from ip.du.server.vpn to any port 1701 \
  main auth "hmac-sha1" enc "aes" group modp1024 \
  quick auth "hmac-sha1" enc "aes" group modp1024 \
  psk "MonSuperMotDePasse"

OpenBSD - /etc/npppd.npppd.conf

authentication LOCAL type local {
        users-file "/etc/npppd/npppd-users"
}

tunnel L2TP protocol l2tp {
        l2tp-require-ipsec yes
}

ipcp IPCP {
        pool-address 10.19.19.20-10.19.19.200
        dns-servers 10.19.19.1
}

interface pppx0 address 10.19.19.1 ipcp IPCP
bind tunnel from L2TP authenticated by LOCAL to pppx0

OpenBSD - /etc/npppd/npppd-users

pouet:\
        :password=UnAutreSuperMotDePasse=:\
        :framed-ip-address=172.19.19.25:

A priori j'avais une typo dans ce fichier (172 au lieu de 10) mais le tunnel se monte quand même.

OpenBSD - /etc/pf.conf

ext_if = vio0

table <ssh_ipv4> persist file "/home/dsx/etc/pf.conf.d/ssh.ipv4"
table <ssh_ipv6> persist file "/home/dsx/etc/pf.conf.d/ssh.ipv6"

set skip on { lo, enc }
set loginterface $ext_if

match out on egress nat-to (egress) received-on pppx

block in log on egress
pass out quick

pass in quick proto icmp
pass in quick proto icmp6

pass in quick on egress inet  proto tcp from <ssh_ipv4> to port ssh
pass in quick on egress inet6 proto tcp from <ssh_ipv6> to port ssh

pass in quick on egress inet proto { esp, ah }
pass in quick on egress inet proto udp to port { isakmp, ipsec-nat-t }

pass in quick on egress inet proto tcp from <ssh_ipv4> to port 3128 rdr-to 127.0.0.1

pass in quick on pppx inet proto { udp, tcp } to port domain rdr-to 127.0.0.1
pass in quick on pppx inet proto tcp to port 3128 rdr-to 127.0.0.1

Les 2 dernières lignes permettent au(x) client(s) vpn d'accéder à un unbound et un squid qui n'écoutent que sur l'interface locale:

$ grep ^http_port /etc/squid/squid.conf
http_port localhost:3128
$ doas unbound-control get_option interface
127.0.0.1
::1

Mikrotik - l2tp-client

/interface l2tp-client
add add-default-route=yes allow=chap connect-to=ip.du.server.vpn disabled=no ipsec-secret="MonSuperMotDePasse" name=vpn-pr0xm0x300 password="UnAutreSuperMotDePasse" use-ipsec=yes user=pouet

Mikrotik - route

/ip route print  
Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme, B - blackhole, U - unreachable, P - prohibit 
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 A S  0.0.0.0/0                          82.xxx.159.254           10
 1 ADS  0.0.0.0/0                          10.19.19.1                0
 2  DS  0.0.0.0/0                          86.xxx.112.1              1
 3 ADC  10.19.19.1/32      10.19.19.119    vpn-pr0xm0x300            0
 4 ADS  31.xxx.24.70/32                    86.xxx.112.1              0
...

On peut voir la route vers l'adsl qui "coûte plus cher" (0) et les routes installées par le client l2tp (1,3,4) et le client dhcp (2).

La suite

Le point d'accès wifi, le commutateur et les trucs rigolos.


Lien vers ce billet

16/06/2017

[ mprdmqja ]

201706161915 mprdmqja

Rappel des règles

ipv4 - le dhcp (ou pas)

Mon fournisseur d'adsl proposant une ip fixe, je peux aisément me passer de client dhcp et passer en adressage fixe:

/ip adress add address=82.XXX.159.102/24 disabled=no interface=p4_free

Pour faire passer du trafic par cette interface, il me faut une route:

/ip route add distance=10 dst-address=0.0.0.0/0 gateway=82.XXX.159.254 routing-mark=to_free

Avec distance=10, je m'assure que cette route "coûtera plus cher" que celle de la fibre optique (qui vaut 0). Avec routing-mark, je vais pouvoir manipuler les paquets passant par cette interface.

ipv4 - firewall

Juste pour info, la règle de nat:

/ip firewall nat add action=masquerade chain=srcnat out-interface=p4_free

ipv4 - le ssh

Pour faire passer mon trafic ssh à destination de l'extérieur au travers de ma connexion adsl, il me suffit d'une règle mangle:

/ip firewall mangle add action=mark-routing chain=prerouting dst-address=!172.16.0.0/12 dst-port=22 new-routing-mark=to_free protocol=tcp src-address=172.16.200.0/24

ipv6

Rien de particulier, j'ai recyclé un ancien billet. Mon utilisation de l'ipv6 se contente largement du débit anémique de mon adsl. L'ipv6 de l'agrume nécessite quelques options que le mikrotik ne fournit pas encore. Parfois, la meilleur façon de solutionner un problème est de supprimer le problème.

La suite

Reste à configurer le vnp ipsec


Lien vers ce billet

16/06/2017

[ mprdmqja fibre optique cos ]

201706161815 mprdmqja fibre optique cos

Le routeur

Je passe toutes mes interfaces en master none et je leur donne un nom un peu plus parlant:

/interface ethernet print brief
Flags: X - disabled, R - running, S - slave
 #    NAME           MTU MAC-ADDRESS       ARP         MASTER-PORT   SWITCH
 0 R  p1_orange     1500 E4:8D:8C:B1:BB:90 enabled     none          switch1
 1 R  p2_rb951g     1500 E4:8D:8C:B1:BB:91 enabled     none          switch1
 2 R  p3_switch     1500 E4:8D:8C:B1:BB:92 enabled     none          switch1
 3 R  p4_free       1500 E4:8D:8C:B1:BB:93 enabled     none          switch1
 4    p5_admin      1500 E4:8D:8C:B1:BB:94 enabled     none          switch1

Le dhcp

J'ai la chance de ne pas avoir besoin de pppoe mais il faut changer la priorité des paquets dhcp et passer 2 options au client. Pour ce faire, il me faut:

Pour les options on garde la bible sous les yeux au paragraphe 'Configurer Internet sans la Livebox' et on ouvre un onglet vers un convertisseur ascii/hexa.

 /interface vlan print brief 
Flags: X - disabled, R - running, S - slave 
 #    NAME         MTU ARP       VLAN-ID INTERFACE
 0 R  vlan832     1500 enabled       832 p1_orange

/interface bridge print brief
Flags: X - disabled, R - running 
 #    NAME           MTU ACTUAL-MTU L2MTU
 0  R br_orange     auto       1500  1592

/interface bridge port print brief 
Flags: X - disabled, I - inactive, D - dynamic 
 #    INTERFACE     BRIDGE        PRIORITY  PATH-COST    HORIZON
 0    vlan832       br_orange         0x80         10       none
/interface bridge filter print 
Flags: X - disabled, I - invalid, D - dynamic 
 0   chain=output action=set-priority new-priority=6 passthrough=yes out-interface=vlan832 mac-protocol=ip dst-port=67 ip-protocol=udp log=yes 
     log-prefix="Set CoS6 on dhcp request" 

/ip dhcp-client option print brief 
Flags: * - default 
 #   NAME         CODE VALUE                                             RAW-VALUE
 0   userclass      77 '+FSVDSL_livebox.Internet.softathome.Livebox3'    2b46535644534c5f6c697665626f782e496e7465726e65742e736f...
 1   authsend       90 0x0000000000000000000000AZERTYAZERTYAZERTYAZER    0000000000000000000000AZERTYAZERTYAZERTYAZER
 2 * clientid       61 0x01$(CLIENT_MAC)                                 01
 3 * hostname       12 $(HOSTNAME)                                       67772e62736473782e6672

/ip dhcp-client print brief 
Flags: X - disabled, I - invalid 
 #   INTERFACE    USE-PEER-DNS ADD-DEFAULT-ROUTE STATUS        ADDRESS
 0   vlan832      no           yes               bound         86.xxx.112.219/21

On notera le use-peer-dns à no.

Les autres adresses

/ip address print brief
Flags: X - disabled, I - invalid, D - dynamic
 #   ADDRESS            NETWORK         INTERFACE
 0   172.17.10.1/24     172.17.10.0     p3_switch
 1   172.16.10.1/24     172.16.10.0     p2_rb951g
 2 D 10.19.19.119/32    10.19.19.1      vpn-pr0xm0x300
 3   82.xxx.159.102/24  82.xxx.159.0    p4_free
 4 D 86.xxx.112.219/21  86.xxx.112.0    vlan832

L'interface vpn-pr0xm0x300 sera détaillée dans le vpn ipsec.

Le dns

Je préfère utiliser mes unbound plutôt que les serveurs dns de l'agrume:

/ip dns print        
        servers: ip1.unbound.perso.nel, ip2.unbound.perso.nel

Je rajoute quelques entrées dns statiques (router, commutateur, point d'accès wifi):

/ip dns static add address=172.16.10.1 name=router.mon.domaine.amoi
/ip dns static add address=172.17.10.1 name=router.mon.domaine.amoi
/ip dns static add address=172.16.10.10 name=wifi.mon.domaine.amoi
/ip dns static add address=172.17.10.10 name=commutateur.mon.domaine.amoi

La suite

Reste à configurer l'adsl et le vpn ipsec.


Lien vers ce billet

10/06/2017

[ mprdmqja ]

201706100915 mprdmqja

Internet chez le gens

Chez le gens, l'accès internet se résume bien souvent à une box multi fonctions sur laquelle viennent se connecter tous les équipements de la maison. Difficile de faire plus simple, (presque) tout fonctionne du premier coup. Mais quand on veut faire mumuse avec pleins de trucs rigolos qui courent dans les airs ou les fils, on échangerait bien un peu de simplicité contre quelques fonctionnalités. Genre de l'ipv6, des adresses statiques, du ssh, un vrai pare-feu, des machins qui font pouetpouet, des trucs qui font zoouuuiiippp toussa ...

MPRDMQJA aka mon petit réseau de moi que j'ai

Si ma ligne ADSL synchronise péniblement à 9 Mbit/s, je dois reconnaitre que mon FAI (Rodolph, celui qui a tout compris) n'est pas avare en fonctionnalités:

Depuis peu, je suis aussi raccordé à la fibre optique de chez l'agrume. Je dis bien aussi car les fonctionnalités proposées me laissent ... sur ma faim:

La box a été rendue dans la semaine ayant suivie l'installation, me faisant économiser 3 euro par mois. J'ai donc fait une croix sur la téléphonie fixe (bof) et la télévision (abonnement à quelques chaines enfantines tout bonnement indécent). On verra un peu plus loin que les quelques flux qui continueront à transiter par l'adsl laisseront bien assez de débit pour la boite à images.

J'ai donc 2 accès à internet, à moi les joies du multihoming ! Je cite: "Le multihoming consiste, pour un réseau informatique, à être connecté à plusieurs fournisseurs d'accès à Internet afin d'améliorer la fiabilité de la connexion à Internet."

MPRDMQJA - Les contraintes

Si on pose:

On peut déduire que le ssh ne passera pas par la fibre.

Si on pose:

On peut déduire qu'il va falloir mettre en place un peu de filtrage/blocage/flicage/pouetage.

MPRDMQJA - Les grandes lignes:

L'ipv6 et le ssh en v4 passent par l'adsl. Les appareils sensibles sont sur un réseau wifi à part et passent par la fibre. Tout ce qui passe par la fibre est filtré par un serveur distant, connecté au travers d'un vpn ipsec. Le tout doit être fun et m'apprendre pleins de choses.

MPRDMQJA - Le matériel

Pour commencer, je n'ai pas d'action chez Mikrotik et je suis plutôt pour l'hétérogénéité dans le réseau. Mais difficile de trouver meilleur rapport fonctionnalités/prix, surtout fanless.

MPRDMQJA - La documentation

Remplacer la box de l'agrume par son propre router ne se fait pas dans la joie et l'allégresse. J'ai donc lu/relu/parcouru:

MPRDMQJA - La configuration

Pour ne pas en faire une tartine, les billets suivants détaillerons chaque partie de la configuration:


Lien vers ce billet