Iptables: Como permitir somente um ip através da porta específica?

23

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

Obrigado

    
por Anonymous12345 29.05.2010 / 22:32

3 respostas

46

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
    
por 29.05.2010 / 23:18
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
    
por 29.05.2010 / 22:54
0

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

ACCEPT net: 192.0.2.1 $ FW tcp 1234

    
por 30.05.2010 / 02:24