Iptables: Como permitir apenas um ip através de porta específica?

25

Como posso no meu servidor ubuntu, no Iptables, permitir apenas um endereço IP em uma porta específica?

obrigado

Anônimo12345
fonte

Respostas:

48

Um forro:

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

Uma solução mais 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
Cristian Ciupitu
fonte
Você sabe se devo adicionar isso também à SAÍDA?
Anonymous12345
@ Camran: você precisa ser mais específico. Nesse caso específico, se você substituir INPUTpor OUTPUTvocê, bloquearia alguns pacotes enviados usando alguns endereços do próprio servidor (e não roteados / encaminhados). Duvido que isso faça sentido, a menos que você queira bloquear programas vinculados a algumas interfaces específicas.
Cristian Ciupitu
11
Não esqueça que você também pode especificar suas fontes em uma cadeia como:--src 1.2.3.4/30
deed02392
Como eu adicionaria mais tarde um novo IP permitido à cadeia? Eu precisaria remover o DROP primeiro, depois inserir o novo usuário e inserir o DROP novamente ou existe uma solução melhor?
maddo7
2
@Matthias:iptables -I xxx --src 7.8.9.10 -j ACCEPT
Cristian Ciupitu
0

Aqui está um exemplo de um dos meus sistemas CentOS (os endereços foram ofuscados):

-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
ofuscação
fonte
no centos, onde tornar essa configuração permanente? (no ubuntu, podemos usar /etc/network/if-up.d/anyfile)
Kokizzu
no CentOS é: service iptables save.
Martin Zeitler
0

Eu uso o shorewall para configurar a tabela IP. Use uma regra como aceitar de um host para a porta 123.

ACEITAR líquido: 192.0.2.1 $ FW tcp 1234

BillThor
fonte