Iptables: Comment autoriser une seule IP via un port spécifique?


Réponses:


48

Bon mot:

iptables -I INPUT \! --src 1.2.3.4 -m tcp -p tcp --dport 777 -j DROP  # if it's not 1.2.3.4, drop it

Une solution plus élégante:

iptables -N xxx # create a new chain
iptables -A xxx --src 1.2.3.4 -j ACCEPT  # allow 1.2.3.4
iptables -A xxx --src 1.2.3.5 -j ACCEPT  # allow 1.2.3.5
iptables -A xxx --src 1.2.3.6 -j ACCEPT  # allow 1.2.3.6
iptables -A xxx -j DROP  # drop everyone else
iptables -I INPUT -m tcp -p tcp --dport 777 -j xxx  # use chain xxx for packets coming to TCP port 777

Savez-vous si je devrais également ajouter ceci à la SORTIE?
Anonymous12345

@Camran: vous devez être plus précis. Dans ce cas particulier, si vous remplacez INPUTavec OUTPUTvous bloquerait certains paquets envoyés en utilisant des adresses du serveur lui - même (et non routé / transmis). Je doute que cela ait du sens, à moins que vous ne vouliez peut-être bloquer les programmes qui se lient à certaines interfaces spécifiques.
Cristian Ciupitu

1
N'oubliez pas que vous pouvez également spécifier vos sources dans une chaîne comme:--src 1.2.3.4/30
deed02392

Comment ajouter plus tard une nouvelle adresse IP autorisée à la chaîne? Dois-je d'abord supprimer le DROP, puis saisir le nouvel utilisateur et réinsérer le DROP ou existe-t-il une meilleure solution?
maddo7

2
@Matthias:iptables -I xxx --src 7.8.9.10 -j ACCEPT
Cristian Ciupitu

0

Voici un exemple d'un de mes systèmes CentOS (les adresses ont été obscurcies):

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp -s 1.2.3.4 -d 5.6.7.8 --dport 22 -j ACCEPT

sur centos, où rendre cette configuration permanente? (dans ubuntu, nous pouvons utiliser /etc/network/if-up.d/anyfile)
Kokizzu

sur CentOS est: service iptables save.
Martin Zeitler

0

J'utilise shorewall pour configurer la table IP. Utilisez une règle comme accepter d'un hôte au port 123.

ACCEPTER net: 192.0.2.1 $ FW tcp 1234

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.