主页 Web 服务器无法正确响应 SSH、MySQL 等

主页 Web 服务器无法正确响应 SSH、MySQL 等

我正在尝试设置我的家庭网络服务器(Ubuntu Server 12.04),以便我可以从家庭网络外部通过 ssh 连接到它,以及连接到我在其上创建的 MySQL 数据库。

目前,我知道端口 80 可以正确响应请求。我已在其上运行 Apache,因此不存在任何问题。但是,当我尝试通过 SSH 连接到服务器时,没有收到响应,当我通过 MySQL 连接到端口 3306 时也没有收到响应(错误 2003,无法连接到服务器 (10060))。我可以使用 phpmyadmin 从浏览器进行连接,但这对于通过 PHP 进行连接毫无用处。

我已为端口 80、22 和 3306 设置了端口转发,但我不知道还应该做什么。如果答案显而易见/简单易懂,请原谅我 - 我已经尝试修复此问题几个月了。

编辑

端口 22 和 3306的输出netstat -atn | grep [port]如下:

(22)

tcp    0    0 0.0.0:22           0.0.0.0:*          Listen
tcp    0    0 127.0.0.1:53822    127.0.0.1:40896    Established 
tcp    0    0 127.0.0.1:40896    127.0.0.1:53822    Established 
tcp6   0    0 :::22              :::*               Listen

(3306)

tcp    0    0 0.0.0:3306           0.0.0.0:*          Listen

谢谢。

答案1

SSH - 确保安装了 SSH 服务器

sudo apt-get install openssh-server

MYSQL - 确保允许外部连接

sudo nano /etc/mysql/my.cnf

bind-address如果您想授予外部连接的访问​​权限,请注释掉。

您需要确保连接到 MySQL 的用户可以从本地主机地址之外访问。

答案2

检查路由器的防火墙设置,确保端口 22、80 和 3306 已打开。

端口转发通常不会自动打开路由器防火墙上的端口 - 我意识到这似乎很愚蠢且微不足道,但我以前的一个家用路由器(Orange UK 的 LiveBox)就被这个错误困扰过。

答案3

哇,UFW 的 iptables 真是太糟糕了,在我看来,防火墙上的 ssh 并没有被解除阻止

sudo ufw status

看看哪些是允许的,哪些是阻止的,然后尝试

sudo ufw allow ssh

我在这里找到了一个很好的指南http://blog.bodhizazen.net/linux/firewall-ubuntu-servers/你可以看一下,或者我使用旧的、久经考验的方法生成 bash iptables 脚本(来自http://www.mista.nu/iptables/) 并在启动时从 rc.local 运行它。

相关内容