iptables
之前使用privoxy用于分流代理,之后替换了方案,但是没有access-permit
同等的功能。
调查后发现使用iptables
可以实现访问控制的功能。
环境准备
- 设备: Raspberry Pi 3B+
- OS: Debian 10 (buster) aarch64
sudo apt install iptables
由于debian系默认不实用配置文件的方式持久化,因此补充安装以下包
sudo apt install iptables-persistent netfilter-persistent
生成/应用配置文件
netfilter-persistent save # 保存规则到配置文件
netfilter-persistent start # 从配置文件加载规则
iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6
iptables-restore < /etc/iptables/rules.v4
ip6tables-restore < /etc/iptables/rules.v6
# 查看防火墙+显示行号
iptables -nL --line-numbers
规则配置
# 放行一个ip地址
iptables -A INPUT -s 192.168.1.100 -p tcp -m tcp --dport 8080 -j ACCEPT
# 放行一个网段
iptables -A INPUT -s 192.168.2.0/24 -p tcp -m tcp --dport 8080 -j ACCEPT
# 放行多个端口
iptables -A INPUT -s 192.168.2.0/24 -p tcp -m multiport --dports 22,80:88 -j ACCEPT
# 拒绝一个端口(丢弃包,无返回)
iptables -A INPUT -p tcp -m tcp --dport 8080 -j DROP
# 拒绝一个端口(返回拒绝信息)
iptables -A INPUT -p tcp -m tcp --dport 8080 -j REJECT
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步