Iptabili: come consentire un solo ip attraverso una porta specifica?


Risposte:


48

Una fodera:

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

Una soluzione più elegante:

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

Sai se dovrei aggiungere anche questo all'OUTPUT?
Anonymous12345,

@Camran: devi essere più specifico. In questo caso particolare, se si sostituisce INPUTcon OUTPUTsi bloccherebbe alcuni pacchetti inviati utilizzando alcuni indirizzi del server stesso (e non instradati / inoltrati). Dubito che abbia senso, a meno che tu non voglia bloccare programmi che si legano ad alcune interfacce specifiche.
Cristian Ciupitu,

1
Non dimenticare che puoi anche specificare le tue fonti in una catena come:--src 1.2.3.4/30
deed02392

Come aggiungerei successivamente un nuovo IP consentito alla catena? Dovrei rimuovere prima il DROP, quindi inserire il nuovo utente e inserire nuovamente il DROP o esiste una soluzione migliore?
maddo7,

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

0

Ecco un esempio da uno dei miei sistemi CentOS (gli indirizzi sono stati offuscati):

-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

su centos, dove rendere permanente questa configurazione? (in Ubuntu, possiamo usare /etc/network/if-up.d/anyfile)
Kokizzu

su CentOS è: service iptables save.
Martin Zeitler,

0

Uso shorewall per configurare la tabella IP. Utilizzare una regola come accettare da un host alla porta 123.

ACCETTO netto: 192.0.2.1 $ FW tcp 1234

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.