Como posso no meu servidor ubuntu, no Iptables, permitir apenas um endereço IP em uma porta específica?
obrigado
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
INPUT
porOUTPUT
você, 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.--src 1.2.3.4/30
iptables -I xxx --src 7.8.9.10 -j ACCEPT
Aqui está um exemplo de um dos meus sistemas CentOS (os endereços foram ofuscados):
fonte
service iptables save
.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
fonte