我在将云服务器上运行的 JIRA 实例连接到同一台机器上运行的 MySQL 实例时遇到了问题。我之前使用相当多的 iptables 规则对其进行了配置,但似乎过于宽泛/非常不精确。我想从本地计算机访问几个 localhosts 端口,但拒绝所有其他帐户访问。目前,我的 /etc/iptables.rules 文件如下所示:
*filter
:INPUT DROP [223:17779]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [10161:1120819]
# SSH Access
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
# Apache2 Access for connecting to Tomcat on port 8080
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
# MySQL
-I INPUT -i lo -p tcp -m tcp --dport mysql -j ACCEPT
COMMIT
但是,当我尝试登录时,这不允许我登录;它只是挂起:
#> mysql -u root -p -h 127.0.0.1
Tomcat servlet 容器也开始抛出各种异常。
这是一个更普遍的问题,因为我需要启用诸如访问 Tomcat 容器的关闭端口之类的功能,但我至少需要先解决 MySQL 部分,而没有我最初尝试的丑陋。
谢谢。
答案1
我建议首先添加以下两条规则。
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT