在Centos 6.4上,我想阻止除了22,80和443之外的所有传入端口.80(外部)应重定向8080(内部).应将443(外部)重定向到8181(内部).我使用了以下命令:
service iptables stop iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 443 -j ACCEPT iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080 iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 443 -j REDIRECT --to-port 8181 service iptables save service iptables restart
但是,我仍然可以访问端口8080和8181.有没有办法在外部阻止端口8080和8181,并且仍然在内部打开以便从80和443重定向?
解决方法
您的规则中没有任何内容丢弃任何数据包.您可以通过将INPUT链的默认策略设置为DROP来实现此目的.默认情况下,它是ACCEPT:
iptables -P INPUT DROP
当您这样做时,您可能会开始注意到您的传出连接不再起作用.
您可以在INPUT链的顶部添加规则,以接受已经建立的流量.
使用以下内容执行此操作:
iptables -A INPUT -m state --state ESTABLISHED,RELATED
RELATED部分允许其他相关流量通过(例如,由于ESTABLISHED连接中发生的事件而发送的ICMP数据包)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。