web-dev-qa-db-fra.com

iptables bloque l'accès au port 8000 sauf à partir de l'adresse IP

Je n'ai jamais utilisé iptables et la documentation en ligne semble un peu opaque.

J'aimerais bloquer toutes les demandes de port 8000 sur mon serveur, à l'exception de celles provenant d'une adresse IP spécifique. Comment est-ce que je fais cela en utilisant iptables?

72
will

Cette question devrait être sur Server Fault . Néanmoins, les éléments suivants devraient faire l'affaire, en supposant que vous parlez de TCP et l'adresse IP que vous souhaitez autoriser est 1.2.3.4:

iptables -A INPUT -p tcp --dport 8000 -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -p tcp --dport 8000 -j DROP
130
Jon Bright

Une autre alternative est;

Sudo iptables -A INPUT -p tcp --dport 8000 -s ! 1.2.3.4 -j DROP

J'avais un problème similaire: 3 machines virtuelles pontées ont simplement besoin d'accéder à des combinaisons différentes. J'ai donc testé cette commande et elle fonctionne bien.

Modifier**

Selon le commentaire de Fernando et ce lien point d'exclamation (!) sera placé avant que -s paramètre:

Sudo iptables -A INPUT -p tcp --dport 8000 ! -s 1.2.3.4 -j DROP
17
HRgiger

Vous pouvez toujours utiliser iptables pour supprimer les règles. Si vous avez beaucoup de règles, générez-les simplement en utilisant la commande suivante.

iptables-save > myfile

vi pour les éditer à partir de la ligne de recommandation. Utilisez simplement le "dd" pour supprimer les lignes que vous ne voulez plus.

iptables-restore < myfile and you're good to go.  

N'OUBLIEZ PAS QUE SI VOUS NE CONFIGUREZ PAS VOTRE SYSTÈME D'EXPLOITATION POUR CONSERVER LES RÈGLES DANS UN FICHIER, ALORS CHARGEZ LE FICHIER AU COURS DU DÉMARRAGE, CES RÈGLES SERONT PERDUES.

4
RecentCoin