linux - iptables 端口白名单应该如何设置才能生效?

查看:1386
本文介绍了linux - iptables 端口白名单应该如何设置才能生效?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我设置了 80 和 443 端口只运行白名单 IP 访问,但是发现没有用,实际上任何 IP 都能访问。然后我又测试删除 80 端口的 INPUT 规则,之后依然能访问。明明有 -A INPUT -j DROP。但是 Ben IP 又正常生效 -A INPUT -s 120.26.72.89/32 -j DROP

    -A INPUT -i lo -j ACCEPT
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -N whitelist
    -A whitelist -s 103.21.244.0/22 -j ACCEPT
    -A whitelist -s 103.22.200.0/22 -j ACCEPT
    -A whitelist -s 103.31.4.0/22 -j ACCEPT
    -A whitelist -s 104.16.0.0/12 -j ACCEPT
    -A whitelist -s 108.162.192.0/18 -j ACCEPT
    -A whitelist -s 131.0.72.0/22 -j ACCEPT
    -A whitelist -s 141.101.64.0/18 -j ACCEPT
    -A whitelist -s 162.158.0.0/15 -j ACCEPT
    -A whitelist -s 172.64.0.0/13 -j ACCEPT
    -A whitelist -s 173.245.48.0/20 -j ACCEPT
    -A whitelist -s 188.114.96.0/20 -j ACCEPT
    -A whitelist -s 190.93.240.0/20 -j ACCEPT
    -A whitelist -s 197.234.240.0/22 -j ACCEPT
    -A whitelist -s 198.41.128.0/17 -j ACCEPT
    -A whitelist -s 199.27.128.0/21 -j ACCEPT
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j whitelist
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j whitelist
    -A INPUT -j DROP
    -A FORWARD -j DROP
    -A OUTPUT -j ACCEPT

解决方案

不说自建链,就说普通设置,为什么不说自建链呢?因为我在和室友杀大提莫(我不玩游戏的,只是杀大提莫确实有趣),用手机编辑回答......
环境:

server ip: 172.0.0.1
client ip: 127.0.0.2

其实放行80端口很简单,iptables开放服务的话最麻烦的可能就是放行被动模式下的FTP

$ iptables -A INPUT -s 127.0.0.2 -p tcp --dport 80 -j ACCEPT
$ iptables -A OUTPUT -d 127.0.0.2 -p tcp --sport 80 -j ACCEPT

然后就放行了,当然前面不能有禁止规则先匹配!自建链也差不多是这样,
当然可能需要整个防火墙都是DROP,然后再ACCEPT.

这篇关于linux - iptables 端口白名单应该如何设置才能生效?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆