CentOS + IPTables

CentOS + IPTables

我正在尝试设置一个 CentOS 7 服务器,并使用 Squid 作为代理服务器。代理服务器是严格私有的,除了我和其他 2 台服务器之外,不需要向任何人开放,因此我决定锁定 3 个 IP 地址的所有端口。我还要指出的是,如果我的 IP 发生变化,我可以通过 VNC 访问服务器。以下是我用来锁定服务器的 IP 表规则(其中 1.1.1.1 只是一个例子)...

#!/bin/bash
IPTABLES=/sbin/iptables
MYIP=1.1.1.1

#start and flush
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -X
$IPTABLES -P FORWARD DROP
$IPTABLES -P INPUT   DROP
$IPTABLES -P OUTPUT  ACCEPT

#HTTP traffic
$IPTABLES -A INPUT -p tcp -s $MYIP --dport 80 -j ACCEPT

#SSH traffic
$IPTABLES -A INPUT -p tcp -s $MYIP --dport 22 -j ACCEPT

#FTP traffic
$IPTABLES -A INPUT -p tcp -s $MYIP --dport 21 -j ACCEPT
$IPTABLES -A INPUT -p tcp -s $MYIP --dport 20000:20050 -j ACCEPT

#SQUID traffic
$IPTABLES -A INPUT -p tcp -s $MYIP --dport 3128 -j ACCEPT

#loopback
$IPTABLES -A INPUT -i lo -p all -j ACCEPT

问题是,当我执行这些规则时,Squid 停止工作。它尝试连接,但最终返回 Squid 错误,提示“连接超时”。尽管允许所有 OUTPUT 流量,但 yum 和 wget 也停止工作,所以我猜是它未能允许出站流量?

有人可以帮助我哪里做错了吗?

相关内容