代理服务器和防火墙在哪里设置
代理服务器和防火墙根本不在同一个地方设置。代理很多人以为它们是服务防火一回事,或者觉得在同一个管理后台里能找到两个开关。器和墙里真不是设置。代理服务器通常跑在应用层,代理防火墙卡在网络层或传输层。服务防火你打开Windows的器和墙里“设置”搜“代理”,能改的设置是浏览器或系统级的HTTP代理地址;而防火墙规则得去“Windows Defender 防火墙”里翻入站出站规则。两个界面隔了十万八千里。代理 先说我自己的服务防火经历。去年帮一个朋友调试家庭NAS,器和墙里他想让外网访问家里的设置文件服务器,又不想直接暴露端口。代理我让他装了个Squid,服务防火配成反向代理。器和墙里Squid的配置文件在 具体到设置位置,分几种常见场景。 Windows系统里,代理设置在“设置 → 网络和Internet → 代理”。手动设置代理服务器地址和端口,或者用自动配置脚本。防火墙在控制面板的“系统和安全 → Windows Defender 防火墙 → 高级设置”。入站规则和出站规则是分开的。你要让某个程序走代理,改的是代理设置;你要让某个端口不被外部扫描到,改的是防火墙规则。别搞混。 macOS稍微不同。代理在“系统设置 → 网络 → 当前连接 → 详细信息 → 代理”。防火墙在“系统设置 → 网络 → 防火墙”。默认防火墙是关闭的,打开后可以添加应用程序白名单。代理选项卡里有HTTP、HTTPS、SOCKS等勾选框。我见过有人把SOCKS代理填成防火墙的端口,结果浏览器上不了网,查了半天才发现是端口冲突。 Linux服务器上,代理设置看具体软件。命令行下 路由器层面更明显。家用路由器后台通常有“端口转发”或“虚拟服务器”,那是把外部请求转给内网某台机器。代理服务器可能就跑在那台内网机器上。路由器的“防火墙”选项一般是SPI防火墙或DoS防护,跟代理没有直接关系。企业级防火墙如Palo Alto或FortiGate,代理功能可能作为独立模块存在,但配置界面里代理策略和防火墙策略是两张表。你得先建防火墙规则允许流量通过,再建代理规则决定是否缓存或修改内容。 有个坑要注意:透明代理。它不需要客户端设置代理地址,而是在网关或防火墙上把流量重定向到代理端口。这时候代理和防火墙的配置就耦合了。比如在Linux上用iptables的NAT表把80端口的流量转到3128: 最后说个判断方法。如果你需要修改浏览器或系统网络设置里的地址栏,那是代理。如果你需要写规则允许或拒绝某个IP、端口、协议,那是防火墙。代理服务器管“怎么转发”,防火墙管“让不让过”。设置位置自然不同。别在防火墙界面里找代理地址,也别在代理配置文件里写iptables规则。/etc/squid/squid.conf,监听3128端口。他问:“那防火墙要关吗?”我说不用关,反而要在路由器上把3128端口转发给NAS的内网IP。这时候防火墙的作用是放行3128,而不是拦住它。代理服务器负责转发和缓存请求,防火墙负责决定哪些包能进出。两个东西各干各的活。export http_proxy=http://ip:port只对当前shell有效。要持久化得写进/etc/environment或~/.bashrc。防火墙用iptables或firewalld。CentOS上firewall-cmd --add-port=3128/tcp --permanent就是放行代理端口。Ubuntu上ufw allow 3128。代理服务器本身可以是Nginx、Squid、HAProxy,配置文件位置各不相同。Nginx在/etc/nginx/nginx.conf,Squid在/etc/squid/squid.conf。防火墙配置和代理配置完全分离,改一个不影响另一个。iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128。这条规则写在防火墙配置里,但效果是让代理服务器接管流量。很多人以为透明代理是代理服务器自己的功能,其实一半靠防火墙重定向。
-
上一篇
-
下一篇
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-