OpenWRT

Wiki.OpenWRT History

Hide minor edits - Show changes to output

Added lines 1-7:
!! Hardware

* http://www.smallnetbuilder.com/wireless/wireless-reviews/33015-tp-link-ac1200-wireless-dual-band-gigabit-router-archer-c5-v2-reviewed
* http://www.smallnetbuilder.com/wireless/wireless-reviews/32498-tp-link-archer-c7-v2-reviewed
* http://www.legitreviews.com/tp-link-tl-wdr4300-n750-dual-band-wireless-router-review_1983

Added lines 81-86:
!!! Architecture Qemu

* Hyperviseur
  - eth0: Main interface
  - virbr1: net1
  - virbr2: net2
Added lines 18-81:

!! OpenWRT on badass hardware
OpenWRT in Qemu, le sumum de la beaute :)

!!! Acces a l'admin depuis le WAN
Pour acceder a SSH et a l'interface web depuis l'exterieur, on fait ca:[@
export WAN=eth1

iptables -t nat -A prerouting_rule -i $WAN -p tcp --dport 22 -j ACCEPT
iptables        -A input_rule      -i $WAN -p tcp --dport 22 -j ACCEPT

iptables -t nat -A prerouting_rule -i $WAN -p tcp --dport 80 -j ACCEPT
iptables        -A input_rule      -i $WAN -p tcp --dport 80 -j ACCEPT

iptables -t nat -A prerouting_rule -i $WAN -p tcp --dport 443 -j ACCEPT
iptables        -A input_rule      -i $WAN -p tcp --dport 443 -j ACCEPT

@]

!!! Packets standards
Voici les packets a installer pour transformer OpenWRT en distrib complete:

* Tools
  * vim-full
  * less
  * htop
  * bash
  * iperf
  * mtr
  * ncat
  * ncat-ssl
  * netperf
  * pciutils
  * screen
  * sfdisk
  * socat
  * ss
  * unrar/unzip/tar/xz
  * tcpdump
  * zsh
  * wget
* System
  * ip
  * coreutils-*
  * tc
* Advanced
  * monit
  * vnstat
  * collectd
  * snmpd
* Services
  * bind
  * uhttpd/apache/nginx
  * luci-*
  * openvpn
  * keepalived
  * sslh
  * polipo
  * squid
  * tor
* Other
  * python

Added lines 411-413:
* Pour le vert, c'est pas mal de changer pour ça dans le bloc @@header a@@ (couleur du texte du menu) :[@
        color: #EFF4EE;
@]
Added lines 447-454:

!! Sécurité

!!! Mettre une authentification basique sur l'interface web
C'est une petite porte à clé générique, mais ça protège toujours un peu plus en cas de faille de sécu sur le formulaire de connexion.
# Vérifiez bien que vous la ligne suivante est bien présente dans le fichier @@/etc/config/uhttpd@@ (section @@config uhttpd main@@): @@option config  /etc/httpd.conf@@
# Activer la demande du mot de passe root:@@echo '/:root:$p$root' >> /etc/httpd.conf@@
# Je vous conseille même de mettre un autre mot de passe. Voir [[http://wiki.openwrt.org/doc/uci/uhttpd#basic_authentication_httpdconf|ici]] ou [[https://forum.openwrt.org/viewtopic.php?id=28577|ici]].
Deleted lines 155-156:

# Debug message
Changed lines 166-167 from:
Ou alors via un Cron:[@
to:
Si vous voulez une version un peu plus sofistiquée, qui installe un cron et le script hotplug, il y'a mon préféré, c'est quand même le script d'init :D Attention, c'est du fait maison:[@
root@router:/etc/init.d# cat dyndns
#!/bin/sh /etc/rc.common
# Dynamic DNS with Bind9 client
# BSD License

# Script parameters
START=10
STOP=15
SCRIPT_PATH=/etc/init.d/dyndns
CRON_PATH=/etc/crontabs/root
CRON_REFRESH='*/5 *'
HOTPLUG_PATH=/etc/hotplug.d/iface
HOTPLUG_NAME=30-dyndns-update

# Parameters
KEY='/etc/bind/keys/client.key'
SERVER='jeznet.org'
ZONE='xxx.im.'
DOMAIN='sub.xxx.im.'
TTL='3600'

# Libraries
dyndns_enable_cron() {
sed -e "/InitFlag/ d" -i $CRON_PATH
echo "$CRON_REFRESH  * * *  $SCRIPT_PATH reload # InitFlag -- Do not delete this ..." >> $CRON_PATH
}
dyndns_disable_cron() {
sed -e "/InitFlag/ d" -i $CRON_PATH

}

dyndns_enable_hotplug() {
echo "# Do not edit this file, it is managed by dyndns service (enable/disable)" > $HOTPLUG_PATH/$HOTPLUG_NAME
echo '[ "$INTERFACE" != "wan" ] && ( [ "$ACTION" != "ifup" ] || [ "$ACTION" != "update" ] ) && exit 0' >> $HOTPLUG_PATH/$HOTPLUG_NAME
echo "$SCRIPT_PATH reload" >> $HOTPLUG_PATH/$HOTPLUG_NAME
}

dyndns_disable_hotplug() {
rm $HOTPLUG_PATH/$HOTPLUG_NAME 2>/dev/null
}

dyndns_update() {
# Get current wan IP
. /lib/functions/network.sh
network_get_ipaddr IPADDR wan

# Debug message
echo "Updating domain $DOMAIN to $IPADDR on $SERVER ... "

# Build and send DNS update query
echo "server $SERVER
zone $ZONE
update delete $DOMAIN A
update add $DOMAIN $TTL A $IPADDR
show
send" | nsupdate -k $KEY 1>/dev/null
}

# Actions
start() {

reload
echo "Enabling cron ..."
dyndns_enable_cron
echo "Done"
}

reload() {

dyndns_update
echo "Updated"
}

enable() {
echo "Installing cron ..."
dyndns_enable_cron

echo "Installing hotplug script ..."
dyndns_enable_hotplug
echo "Done"
}

disable() {
echo "Uninstalling cron ..."
dyndns_disable_cron

echo "Uninstalling hotplug script ..."
dyndns_disable_hotplug

echo "Done"
}

stop() {
        echo "Disabling cron ..."
dyndns_disable_cron
echo "Done"
}
Added lines 304-316:

!!! Changer la couleur du thème
C'est bien simple, quand on a plusieurs routeurs OpenWRT à gérer, ça peut être pas mal de changer la couleur de la barre principale pour savoir sur quel routeur on est. Les modifications à apporter sont les suivantes:
* Ouvrir le fichier @@/www/luci-static/bootstrap/cascade.css@@ avec @@vim@@.
* Cherchez la config de l'élément @@header .fill@@ (aux environs de la ligne 785)
* A coup de substitutions, dans le bloc de l'élément:[@
# Vert
:'<,'>s/#333333/#99CC00/g
:'<,'>s/#222222/#99CC01/g
# Bleu foncé
:'<,'>s/#333333/#455372/g
:'<,'>s/#222222/#455373/g
@]
Added lines 173-174:
Si on n'a pas de serveur DNS, on peut le faire avec [[http://www.hosthis.org/2015/04/configurer-un-dns-dynamique-avec-freedns-afraid-org-sur-debian-7/||afraid.org]]
Changed lines 114-172 from:
L'idée est d'avoir un domaine pour l'IP principale de sortie, un hostname pour chaque membre du réseau, une résolution simple avec FQQDN et sans FQDN.
to:
L'idée est d'avoir un domaine pour l'IP principale de sortie, un hostname pour chaque membre du réseau, une résolution simple avec FQDN et sans FQDN.

!!! Le DNS Dynamique
Bon, c'est relativement simple, coté serveur, on génère la clé, puis on crée la configue dans le fichier @@/etc/bind/named.conf.local@@:
[@$ dnssec-keygen -C -a hmac-md5 -b 512 -n HOST sub.xxx.im
$ cat Ksub.xxx.im.+157+29592.key
sub.xxx.im. IN KEY 512 3 157 gtkjVIwTNkiVorPh1CZjIMaPi/Qib5HfRbw9ZVpfvyb9+HwpHGghtyww dWVcqRG3m5gg6FggTCggsdGbHTJwoV/Q==
@]
[@// DNSSec Keys config
///////////////
key "sub.xxx.im." {
        algorithm hmac-md5;
        secret "gtkjVIwTNkiVorPh1CZjIMaPi/Qib5HfRbw9ZVpfvyb9+HwpHGghtyww dWVcqRG3m5gg6FggTCggsdGbHTJwoV/Q==";
};


// Main domains
///////////////

zone "xxx.im" {
        type master;
        file "/etc/bind/zones/xxx.im";

        // DynDNS update
        update-policy {
                grant sub.xxx.im. name sub.xxx.im. A TXT;
        };
};@]
Sur OpenWRT, on doit copier les clés privées (ici, je les ai mises dans @@/etc/bind/keys/@@) et on fait un script @@hotplug@@:[@
root@router:/# cat /etc/hotplug.d/iface/30-nsupdate
[ "$INTERFACE" != "wan" ] && ( [ "$ACTION" != "ifup" ] || [ "$ACTION" != "update" ] ) && exit 0

# Parameters
KEY='/etc/bind/keys/client.key'
SERVER='jeznet.org'
ZONE='xxx.im.'
DOMAIN='sub.xxx.im.'
TTL='3600'

# Get current wan IP
. /lib/functions/network.sh
network_get_ipaddr IPADDR wan

# Debug message
echo "Updating domain $DOMAIN to $IPADDR on $SERVER"

# Build and send DNS update query
echo "server $SERVER
zone $ZONE
update delete $DOMAIN A
update add $DOMAIN $TTL A $IPADDR
show
send" | nsupdate -k $KEY
@]
Ou alors via un Cron:[@

@]

Un lien en plus: http://www.foell.org/justin/diy-dynamic-dns-with-openwrt-bind/
Changed lines 234-238 from:
to:
C'est tout con, faut activer le client et le serveur sur le routeur:
* Client: Aller dans @@System > System > Time Synchronization@@ et @@Enable NTP client@@
* Serveur: Aller dans @@System > System > Time Synchronization@@ et @@Enable NTP server@@
En dessous, vous avez la liste des serveurs à interroger ...

Added line 240:
Pour utiliser LuCI en HTTPS, il faut faire un @@opkg install luci-ssl@@ puis on relance le serveur web @@/etc/init.d/uhttpd restart@@. L'interface est dispo en HTTPS maintenant.
Changed lines 27-29 from:
to:
* NTP: Bah c'est bien d'avoir des machines à l'heure :-)
* UPnP: C'est toujours pratique

Changed lines 36-37 from:
*** Exemple
**
Ports UPnP: autoriser
to:
** Ports UPnP: autoriser partout sauf dans les ranges 0-1024 et 30000-39999
Changed line 39 from:
** 20-99: attribution via DHCP avec un enregistrement MAC statique
to:
** 20-99: attribution via DHCP avec un enregistrement MAC statique (client lambda enregistré)
Changed lines 61-63 from:
ssh-rsa AAAAB3NzaC...DxH0RwZwWYSmUsQW7 jez@xxx.com@]

to:
ssh-rsa AAAAB3NzaC...DxH0RwZwWYSmUsQW7 jez@montopdomaine.com@]

Deleted lines 135-137:
list dhcp_option '252,http://wpad.montopdomain.fr/wpad.dat' #wpad
list dhcp_option "6,192.168.1.2" #dns server
list dhcp_option "3,192.168.1.2" #default route
Changed lines 16-63 from:
!! Config de base
Moi, j'aime pas laisser les trucs par défault. Voila de la petite config pour simplement rendre votre système un peu plus admin-friendly.

On installe les packets suivants (attention à votre espace disque):[@
opkg install vim-full # Pitié, faut pas déconner
opkg install htop # classique
opkg install less # un pager, c'est toujours utile
opkg install netcat # vrai utilitaire netcat@]

Dans le fichier @@/etc/profile@@, on met quelques alias qui vont bien, du prompt, et de la coloration:[@

# Les bon alias
alias ls='ls --color=auto'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'

alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'

# Prompt
PS1='\[\033[0;31m\]\u\[\033[0;32m\]@\[\033[0;32m\]\h\[\033[0m\]:\w# \e[0m'

# OPKG coloration
opkg () {
BOLD=$(echo -e '\033[35;1m');
NORM=$(echo -e '\033[0m');
COL="no";
for arg in $*; do
if [ $arg == "whatdepends" -o $arg == "list" \
-o $arg == "list-installed" -o $arg == "list-upgradable" \
-o $arg == "list-changed-conffiles" -o $arg == "status" \
-o $arg == "info" -o $arg == "find" ]; then
COL="yes";
break;
fi
done
if [ $COL == "yes" ]; then
# (|\t*) added for 'whatdepends'
/bin/opkg $* | sed -re "s/^(|\t*)[a-z0-9-]*/$BOLD&$NORM/g";
else
/bin/opkg $*;
fi
}

@]

to:
Added lines 61-109:


!!! L'environnement
Moi, j'aime pas laisser les trucs par défaut. Voila de la petite config pour simplement rendre votre système un peu plus admin-friendly.

On installe les packets suivants (attention à votre espace disque):[@
opkg install vim-full # Pitié, faut pas déconner
opkg install htop # classique
opkg install less # un pager, c'est toujours utile
opkg install netcat # vrai utilitaire netcat@]

Dans le fichier @@/etc/profile@@, on met quelques alias qui vont bien, du prompt, et de la coloration:[@

# Les bon alias
alias ls='ls --color=auto'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'

alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'

# Prompt
PS1='\[\033[0;31m\]\u\[\033[0;32m\]@\[\033[0;32m\]\h\[\033[0m\]:\w# \e[0m'

# OPKG coloration
opkg () {
BOLD=$(echo -e '\033[35;1m');
NORM=$(echo -e '\033[0m');
COL="no";
for arg in $*; do
if [ $arg == "whatdepends" -o $arg == "list" \
-o $arg == "list-installed" -o $arg == "list-upgradable" \
-o $arg == "list-changed-conffiles" -o $arg == "status" \
-o $arg == "info" -o $arg == "find" ]; then
COL="yes";
break;
fi
done
if [ $COL == "yes" ]; then
# (|\t*) added for 'whatdepends'
/bin/opkg $* | sed -re "s/^(|\t*)[a-z0-9-]*/$BOLD&$NORM/g";
else
/bin/opkg $*;
fi
}

@]
Changed line 114 from:
Voici une jolie config pour le domaine @@montopdomain.fr@@:
to:
Voici une jolie config pour le domaine @@montopdomain.fr@@. On a configuré le topdomaine.com et la plage d'IP à utiliser.
Changed lines 150-151 from:
Pour ceux qui les comprennent et qui les utilise. La liste complète est dispo ici: http://www.networksorcery.com/enp/protocol/bootp/options.htm. Ces lignes sont à mettre dans la section @@config dnsmasq
@@, à modifier selon vos cas:
to:
Pour ceux qui les comprennent et qui les utilise. La liste complète est dispo ici: http://www.networksorcery.com/enp/protocol/bootp/options.htm. Ces lignes sont à mettre dans la section @@config dnsmasq@@ , à modifier selon vos cas:
Changed lines 173-174 from:
Note: Je ne suis pas sûre que tous les codes fonctionnent, ni qu'ils soient correctement implémentés ... En gros à tester :-)
to:
Note: Je ne suis pas sûre que tous les codes fonctionnent, ni qu'ils soient correctement implémentés ... En gros à tester :-) Par ailleurs, certaines de ces options sont directement gérées par le daemon, pas besoin de trop y toucher normalement.
Changed lines 230-231 from:
!!! Convention de règles de NAT
to:
ATESTER, la méthode semble deprecated ... il vaut mieux utiliser option dhcp_boot 'pxelinux.0,mark-desktop,192.168.1.107'
Changed lines 114-122 from:


!!! Le Wake On Lan
Il suffit d'installer le packet
@@luci-app-wol@@, et un menu apparait dans @@Network > Wake On Lan@@. Après, c'est trivial. Si ça ne fonctionne pas, il faut essayer avec @@etherwake@@.

ATESTER

!!! UPnP
Voici la config par défaut. Il ne faudra pas oublier de sortir le range que vous avez choisit pour le forward du NAT sur les port 3xxyy ... Il y'a peut de chance qu'il y'ai un conflit, mais faisons les choses bien
:-)
to:
Voici une jolie config pour le domaine @@montopdomain.fr@@:
Changed lines 116-147 from:
==> upnpd <==

config perm_rule
option comment 'Deny on internal NAT'
option ext_ports '30000-39999'
option int_addr '0.0.0.0/0'
option int_ports '0-65535'
option action 'deny'

config perm_rule
option action
'allow'
option int_addr '0.0.0.0/0'
option comment 'Allow high ports'
option ext_ports '4092-65535'
option int_ports '4092-65535'

config perm_rule
option action
'deny'
option ext_ports '0-65535'
option int_addr '0.0.0.0/0'
option int_ports '0-65535'
option comment 'Default deny'

config upnpd 'config'
option download '1024'
option upload
'512'
option external_iface 'wan'
option internal_iface 'lan'
option port '5000'
option upnp_lease_file '/var/upnp.leases'
option uuid '364836fa-3804-42cf-92f1-xxxx'
to:
root@router:/etc/config# cat dhcp

config dnsmasq
option domainneeded '1'
option boguspriv
'1'
option localise_queries '1'
option rebind_protection '1'
option rebind_localhost '1'
option expandhosts '1'
option authoritative '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf.auto'
option local '/montopdomain.fr/'
option auth_peer '127.0.0.1'
option domain 'montopdomain.fr'
option cachesize '500'
list dhcp_option '252,http://wpad.montopdomain.fr/wpad.dat' #wpad
list dhcp_option "6,192.168.1.2" #dns server
list dhcp_option "3,192.168.1.2" #default route

config dhcp
'lan'
option interface 'lan'
option start '100'
option limit '199'
option leasetime '48h'
option force '1'

config dhcp 'wan'
option interface 'wan'
option ignore '1'
Changed lines 149-160 from:

!!! Wifi

!!! Configuration du WPAD (dans le cas d'un proxy)

!!! Network Boot
Il faut rajouter dans le fichier en question
:
[@#vim /etc/config/dhcp
config boot linux
     
  option filename 'pxelinux.0'
        option serveraddress '
192.168.1.xxx'
 
     option servername 'mypxeserver'
to:
!!!! Les options DHCP et BootP
Pour ceux qui les comprennent et qui les utilise. La liste complète est dispo ici
: http://www.networksorcery.com/enp/protocol/bootp/options.htm. Ces lignes sont à mettre dans la section @@config dnsmasq
@@, à modifier selon vos cas:
[@
# Default route
list dhcp_option "3,
192.168.1.2"
# Server NTP
list dhcp_option "4,192.168.1.2"
# DNS server
list dhcp_option "6,192.168.1.2"
# Top domain
list dhcp_option "15,montopdomain.com"
# WINS server (NetBIOS name server)
list dhcp_option "44,192.168.1.2"
# WPAD url pour configuration auto d
'un proxy
list dhcp_option '252,http://wpad.montopdomain.fr/wpad.dat' # wpad

# Options de boot
option dhcp_boot 'pxelinux.0,mark-desktop,192.168.1.107
'
Added lines 169-228:
Autre:
* 19: IP forward
* 33: Static routes
* 42: NTP Servers

Note: Je ne suis pas sûre que tous les codes fonctionnent, ni qu'ils soient correctement implémentés ... En gros à tester :-)

!!! Le Wake On Lan
Il suffit d'installer le packet @@luci-app-wol@@, et un menu apparait dans @@Network > Wake On Lan@@. Après, c'est trivial. Si ça ne fonctionne pas, il faut essayer avec @@etherwake@@.

ATESTER

!!! UPnP
Voici la config par défaut. Il ne faudra pas oublier de sortir le range que vous avez choisit pour le forward du NAT sur les port 3xxyy ... Il y'a peut de chance qu'il y'ai un conflit, mais faisons les choses bien :-)
[@
==> upnpd <==

config perm_rule
option comment 'Deny on internal NAT'
option ext_ports '30000-39999'
option int_addr '0.0.0.0/0'
option int_ports '0-65535'
option action 'deny'

config perm_rule
option action 'allow'
option int_addr '0.0.0.0/0'
option comment 'Allow high ports'
option ext_ports '4092-65535'
option int_ports '4092-65535'

config perm_rule
option action 'deny'
option ext_ports '0-65535'
option int_addr '0.0.0.0/0'
option int_ports '0-65535'
option comment 'Default deny'

config upnpd 'config'
option download '1024'
option upload '512'
option external_iface 'wan'
option internal_iface 'lan'
option port '5000'
option upnp_lease_file '/var/upnp.leases'
option uuid '364836fa-3804-42cf-92f1-xxxx'

@]


!!! Wifi

!!! Network Boot
Il faut rajouter dans le fichier en question:
[@#vim /etc/config/dhcp
config boot linux
        option filename 'pxelinux.0'
        option serveraddress '192.168.1.xxx'
        option servername 'mypxeserver'
@]
Deleted lines 244-245:
!!! Sortie TOR
Added lines 249-252:
!!! Sortie OpenVPN

!!! Sortie TOR

Added lines 254-255:

!!! Configuration du WPAD (dans le cas d'un proxy)
Changed line 78 from:
** Ports privés NAT: dans le range 3xxyy
to:
** Ports privés NAT: dans le range 2xxyy ou 3xxyy ou 4xxyy ou 5xxyy
Changed lines 88-89 from:
to:
* Stop 192.168.0.0/24 et 192.168.1.0/24 et 192.168.254.0/24 ... y'a d'autres numéros, non? Et puis c'est plus pratique si vous avez plusieurs réseaux locaux ou si vous faites des tests avec d'autres routeurs ...
 
Added line 115:
Changed lines 117-120 from:
to:
Il suffit d'installer le packet @@luci-app-wol@@, et un menu apparait dans @@Network > Wake On Lan@@. Après, c'est trivial. Si ça ne fonctionne pas, il faut essayer avec @@etherwake@@.

ATESTER

Changed lines 122-158 from:
to:
Voici la config par défaut. Il ne faudra pas oublier de sortir le range que vous avez choisit pour le forward du NAT sur les port 3xxyy ... Il y'a peut de chance qu'il y'ai un conflit, mais faisons les choses bien :-)
[@
==> upnpd <==

config perm_rule
option comment 'Deny on internal NAT'
option ext_ports '30000-39999'
option int_addr '0.0.0.0/0'
option int_ports '0-65535'
option action 'deny'

config perm_rule
option action 'allow'
option int_addr '0.0.0.0/0'
option comment 'Allow high ports'
option ext_ports '4092-65535'
option int_ports '4092-65535'

config perm_rule
option action 'deny'
option ext_ports '0-65535'
option int_addr '0.0.0.0/0'
option int_ports '0-65535'
option comment 'Default deny'

config upnpd 'config'
option download '1024'
option upload '512'
option external_iface 'wan'
option internal_iface 'lan'
option port '5000'
option upnp_lease_file '/var/upnp.leases'
option uuid '364836fa-3804-42cf-92f1-xxxx'

@]

Changed lines 164-172 from:
to:
Il faut rajouter dans le fichier en question:
[@#vim /etc/config/dhcp
config boot linux
        option filename 'pxelinux.0'
        option serveraddress '192.168.1.xxx'
        option servername 'mypxeserver'
@]
Votre serveur PXE devra être configuré et répondre derrière l'IP 192.168.1.xxx, de préférence pas sur le routeur (c'est mieux d'un point de vu sécurité).

Added lines 182-184:
!!! Statistiques et monitoring
On peut

Added line 197:
Changed lines 199-200 from:
to:
Perso, j'utilise Debian, à vous d'adapter à votre distrib!
Changed lines 211-212 from:
to:
!!! Serveur de statistiques
Collectd peut être configuré comme serveur:
Changed lines 118-119 from:
to:
!!! Wifi
Added lines 133-136:
!!! Wifi avec plusieurs AP et unique SSID

!!! Sortie TOR

Changed lines 141-142 from:
!!! Privoxy
to:
!!! Privoxy et bloqueur de pub
Changed lines 155-157 from:
!!!! Serveur de boot réseau
to:
!!!! Serveur de boot réseau

Added line 118:
Added lines 128-150:


!! Les configurations plus plus

!!! Asterix et téléphonie

!!! Hotspot invité

!!! Privoxy

!!! Faire fonctionner box multimedia (Free)

!! Autres Services

!!! Serveur de fichier Samba

!!! Serveur HTTP

!!!! Serveur Torrent (Seedbox)

!!!! Serveur de fichier

!!!! Serveur de boot réseau
Changed lines 67-88 from:
to:
Cette partie représente une piste pour les bonnes pratiques. Elle s'appuie sur des conventions, et des configurations.

!!! OverView
* DNS: Gestion des DNS locaux avec FQDN et résolution sans FQDN
* SSH: Administration sécurisée
* HTTPS: Administration sécurisée en interne et externe
* DHCP: Configuration globale, options pratiques

!!! Conventions
* Ouverture de ports:
** Ports bas niveau: réservé à l'administrateur
** Ports privés NAT: dans le range 3xxyy
*** où xx: deux derniers chiffres de l'IP du client
*** où yy: deux derniers chiffres du protocole
*** Exemple
** Ports UPnP: autoriser
* Attribution des IPs:
** 1-19: services internes, serveurs, pour l'admin, IP via DHCP (static lease) ou IP statique
** 20-99: attribution via DHCP avec un enregistrement MAC statique
** 100-199: attribution automatique via DHCP (client lambda)
** 199-220: Zone pour faire tests client avec IP statique (sans DHCP)

Changed line 101 from:
option PasswordAuth 'on'
to:
option PasswordAuth 'off'
Changed lines 110-111 from:
L'idée est d'avoir un domaine our l'IP principale de sortie, un hostname pour chaque membre du réseau, une résolution simple avec FQQDN et sans FQDN.
to:
L'idée est d'avoir un domaine pour l'IP principale de sortie, un hostname pour chaque membre du réseau, une résolution simple avec FQQDN et sans FQDN.
Changed lines 124-125 from:

to:
!!! NTP

!!! Accès HTTPS avec redirection HTTP
Deleted line 0:
Changed lines 25-27 from:
Dans le fichier @@/etc/profile@@, on met quelques alias qui vont bien:[@
to:
Dans le fichier @@/etc/profile@@, on met quelques alias qui vont bien, du prompt, et de la coloration:[@

# Les bon alias
Changed lines 35-37 from:
alias l='ls -CF'@]

Il faut mettre sa clé SSH public pour DropBear(fichier @@/etc/dropbear/authorized_keys@@)
to:
alias l='ls -CF'

# Prompt
PS1='\[\033[0;31m\]\u\[\033[0;32m\]@\[\033[0;32m\]\h\[\033[0m\]:\w# \e[0m'

# OPKG coloration
opkg () {
BOLD=$(echo -e '\033[35;1m');
NORM=$(echo -e '\033[0m');
COL="no";
for arg in $*; do
if [ $arg == "whatdepends" -o $arg == "list" \
-o $arg == "list-installed" -o $arg == "list-upgradable" \
-o $arg == "list-changed-conffiles" -o $arg == "status" \
-o $arg == "info" -o $arg == "find" ]; then
COL="yes";
break;
fi
done
if [ $COL == "yes" ]; then
# (|\t*) added for 'whatdepends'
/bin/opkg $* | sed -re "s/^(|\t*)[a-z0-9-]*/$BOLD&$NORM/g";
else
/bin/opkg $*;
fi
}

@]

Il faut mettre sa clé SSH public pour DropBear(fichier @@/etc/dropbear/authorized_keys@@)

!! Les bonnes configs

!!! L'accès SSH
Un pour l'interne, et un pour l'externe, le tout avec DropBear:[@
root@router:/# cat /etc/config/dropbear

config dropbear
option PasswordAuth 'on'
option Port '22'
option Interface 'lan'

config dropbear
option Interface 'wan'
option Port '30122'
option PasswordAuth 'on'
@]
On rajoute les clés SSH qui vont bien:
[@
root@router:/# cat /etc/dropbear/authorized_keys
ssh-rsa AAAAB3NzaC...DxH0RwZwWYSmUsQW7 jez@xxx.com@]


!!! Le DNS
L'idée est d'avoir un domaine our l'IP principale de sortie, un hostname pour chaque membre du réseau, une résolution simple avec FQQDN et sans FQDN.

!!! Le DHCP

!!! Le Wake On Lan

!!! UPnP

!!! Configuration du WPAD (dans le cas d'un proxy)

!!! Network Boot

!!! Convention de règles de NAT


Added lines 1-36:

!! Cheat sheet
Gestionnaire de packet:[@# Le update et upgrade
opkg update
opkg upgrade

# Installation/Configuration
opkg install <pkg>

# Nettoyage
opkg remove <pkg>

# Recherche
opkg list  # Liste tous les packets du repo
opkg search # Fait une recherche@]

!! Config de base
Moi, j'aime pas laisser les trucs par défault. Voila de la petite config pour simplement rendre votre système un peu plus admin-friendly.

On installe les packets suivants (attention à votre espace disque):[@
opkg install vim-full # Pitié, faut pas déconner
opkg install htop # classique
opkg install less # un pager, c'est toujours utile
opkg install netcat # vrai utilitaire netcat@]

Dans le fichier @@/etc/profile@@, on met quelques alias qui vont bien:[@
alias ls='ls --color=auto'
alias dir='dir --color=auto'
alias vdir='vdir --color=auto'
alias grep='grep --color=auto'

alias ll='ls -l'
alias la='ls -A'
alias l='ls -CF'@]

Il faut mettre sa clé SSH public pour DropBear(fichier @@/etc/dropbear/authorized_keys@@)
Page last modified on December 25, 2016, at 02:49 PM EST