Como posso no meu servidor ubuntu, no Iptables, permitir apenas um endereço IP em uma porta específica?
obrigado
Como posso no meu servidor ubuntu, no Iptables, permitir apenas um endereço IP em uma porta específica?
obrigado
Respostas:
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
por OUTPUT
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):
-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
service iptables save
.