Dans la série “les commandes dont je me souviens jamais”, voici la commande qui permet d’ouvrir un port sur le firewall iptable de son serveur (il faut les droits admin) :
iptables -A INPUT -p tcp -m tcp --dport 7777 -j ACCEPT # ouvrir le port 777 iptables -D INPUT -p tcp -m tcp --dport 7777 -j ACCEPT # annuler l'ouverture iptables -L # regarder ce qui est ouvert et ce qui l'est pas |
Et après y a des gens qui trouvent que git est cryptique.
Très utile pour la session panique de debuggage en prod sur ce fameux bug aléatoire qui n’arrive pas sur les machines de dev ni la machine d’intégration (quand il y en a une…).
En effet, avec Python et WSGI, tant qu’on relance pas le process, les changements de codes sont pas pris en compte. Donc je met DEBUG = True
, je lance ./manage.py runserver_plus 0.0.0.0:7777
, et je debug la prod sans que l’instance qui sert les clients soient affectées par mes conneries.
Il faut precier que ça n’ouvre que la chaîne INPUT, soit pour des paquets entrants. Si le firewall est plutôt restricitf (en prod par exemple), il faut ouvrir aussi sur la chaîne OUTPUT pour les paquets qui passent par le port concerné en sortie. La syntaxe est globalement la même :
IPTABLES -I INPUT -p tcp --sport -j ACCEPT
Perso j’ai tendance à utiliser -I plutôt que -A quand je balance des règles à la volé parce que -A ajoute la règle à la fin de la chaîne, d’autre règles peuvent matcher le paquet avant celle-là. -I insert la règle à la ligne indiqué ou au début de la chaîne si aucun paramètre de position n’est indiqué.
Tout récent, et dans le ton du post : http://xkcd.com/1168/
Ca ne tombe pas dans l’oreille d’un aveugle, iptables j’suis pas non plus tombé dans la marmite quand j’étais gamin…
Merci Sam !
;-)
Et non, désolé de vous le dire, mais c’est plus compliqué que ça, et donc, il y a une petite erreur ;)
Moi aussi, j’ai fait cette erreur très récemment, donc, c’est avec joie que je vais y contribuer :
http://links.thican.net/?SQAu3w
En résumé, il faut faire attention à l’ordre de ses règle, il faut mettre les plus permissives à la fin.
Rhaaa, grillé, mais pourquoi ne voyais-je pas les autres commentaires avant ?
Parfois wordpress marque un commentaire comme ‘à modérer’ et on doit le valider à la main.
Aziz lumière !
Mouarf :o)
@luigi <<< the fith element ^^
Pour compléter, j’ajouterai que les règles iptables définies de cette façon ne seront valable que pour la session courante, au prochain redémarrage il faudra retaper la même chose.
Pour éviter ça, pensez a faire un petit:
service iptables save
(ou arrangez en fonction de votre distrib).Sinon pour les hommes vous avez PF sur les BSD* la soupe syntaxique en moins et la puissance en plus ;)
pass in on egress inet proto tcp to (egress) port 80 rdr-to \
$antec synproxy state queue (q_def, q_pri)
Ca a quand même plus de gueule et ça fait même de la QoS en plus ;)
Description de l’article à corriger sur la page d’accueil du blog:
Dans la série “les commandes dont je ne me souviens jamais”, voici la commande qui permet d’ouvrir un port sur le firewall iptable de son serveur.
Fixed.
Je drop ici mes scripts iptables, des fois que ça puisse servir à quelqu’un (ou être améliorer, se qui ne doit pas être très dur).
Dans /etc/init.d/firewall:
http://pastebin.com/zSa6UHGw
Dans /etc/firewall/firewall-start.sh:
http://pastebin.com/Ekhai1hU
Dans /etc/firewall/firewall-stop.sh:
http://pastebin.com/wBNsmEWd
Usage:
service firewall {start/stop/restart}
OU
/etc/init.d/firewall {start/stop/restart}
Ne pas oublier les droits, on peut aussi lancer le script “firewall-start.sh”, etc.