我无法远程访问我的家庭服务器,尽管它在 LAN 中工作正常。当我尝试使用http://xxx.xxx.xxx.xxx/我进入路由器控制面板页面,当我浏览时http://xxx.xxx.xxx.xxx:8081/或者http://xxx.xxx.xxx.xxx:8080/浏览器出现超时错误(我也无法访问 MySQL DB)
你能帮助我吗?
已安装的 LAMP 配置:
- Linux Ubuntu 14.04 x64
- nmap 输出(我已经从我的 ISP 获取静态 IP):
nmap -sS -O -PI -PT xxx.xxx.xxx.xxx 于 2016-01-13 17:10 EET 启动 Nmap 6.40(http://nmap.org) xxx.xxx.xxx.xxx 的 Nmap 扫描报告 主机已启动(延迟时间为 0.0048 秒)。 未显示:992 个已过滤端口 港口国服务 21/tcp 开启 ftp 22/tcp 开启 ssh 80/tcp 开放 http 443/tcp 打开 https 631/tcp 开放 ipp 3306/tcp 打开 mysql 8080/tcp 开放 http 代理 8081/tcp 打开 blackice-icecap 警告:OSScan 结果可能不可靠,因为我们找不到至少 1 个开放端口和 1 个关闭端口 设备类型:通用 运行:Linux 2.6.X|3.X 操作系统 CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:3 操作系统详细信息:Linux 2.6.9 - 2.6.19、Linux 2.6.9 - 2.6.30、Linux 3.5 已执行操作系统检测。如有任何错误结果,请报告至 http://nmap.org/submit/ 。 Nmap 完成:扫描 1 个 IP 地址(1 个主机启动),耗时 41.97 秒
- Apache 2.4.7
- /etc/apache2/apache2.conf
互斥文件:${APACHE_LOCK_DIR} 默认 Pid文件 ${APACHE_PID_FILE} 超时 300 保持活动状态 最大KeepAliveRequests 100 KeepAliveTimeout 5 用户 ${APACHE_RUN_USER} 组 ${APACHE_RUN_GROUP} HostnameLookups 关闭 错误日志 ${APACHE_LOG_DIR}/error.log 日志级别警告 包括可选的 mods-enabled/*.load 包括可选的 mods-enabled/*.conf 包括 ports.conf 选项 FollowSymLinks AllowOverride 无 要求全部拒绝 AllowOverride 无 要求所有已授予 期权指数 FollowSymLinks AllowOverride 无 要求所有已授予 访问文件名 .htaccess 要求全部拒绝 日志格式“%v:%p%h%l%u%t \“%r\”%>s%O \“%{Referer}i\” \“%{User-Agent}i\”” vhost_combined LogFormat“%h%l%u%t \“%r\”%>s%O \“%{Referer}i\” \“%{User-Agent}i\””组合 LogFormat "%h %l %u %t \"%r\" %>s %O" 常见 LogFormat "%{Referer}i -> %U" 引用者 LogFormat "%{User-agent}i" 代理 包括可选的 conf-enabled/*.conf 包括可选的站点启用/*.conf
- /etc/apache2/ports.conf
听 80 收听 443 收听 443
- /etc/apache2/sites-enabled/000-default.conf
ServerAdmin webmaster@localhost 文件根目录 /var/www/html 错误日志 ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log 合并
- MySQL 5.5.46
- /etc/mysql/my.cnf
[客户] 端口 = 3306 套接字 = /var/run/mysqld/mysqld.sock [mysqld_safe] 套接字 = /var/run/mysqld/mysqld.sock 好 = 0 [mysqld] 用户 = mysql pid 文件 = /var/run/mysqld/mysqld.pid 套接字 = /var/run/mysqld/mysqld.sock 端口 = 3306 basedir = /usr 数据目录 = /var/lib/mysql tmpdir = /tmp lc-messages-dir = /usr/share/mysql 密钥缓冲区 = 16M 最大允许数据包 = 16M 线程堆栈 = 192K 线程缓存大小 = 8 myisam-recover = 备份 查询缓存限制 = 1M 查询缓存大小= 16M log_error = /var/log/mysql/error.log 过期日志天数 = 10 max_binlog_size = 100M [mysqldump] 快的 引述名称 最大允许数据包 = 16M [mysql] [isamchk] 密钥缓冲区 = 16M !includedir /etc/mysql/conf.d/
- 主服务器
IP地址:192.168.1.2 广播地址:192.168.1.255 子网掩码:255.255.255.0 默认路由:192.168.1.1 主 DNS:192.168.1.1
- 路由器控制面板IP:192.168.1.1
- 端口转发配置
- 路由器控制面板IP:192.168.1.1
- 端口转发配置(请参阅附件)
- netstat 输出
sudo netstat -napW | grep apache tcp6 0 0 :::80 :::* 监听 860/apache2 sudo netstat -napW | grep mysql tcp 0 0 0.0.0.0:3306 0.0.0.0:* 监听 4746/mysqld unix 2 [ ACC ] 流侦听 1401737 4746/mysqld /var/run/mysqld/mysqld.sock
- 防火墙状态(防火墙和服务器均禁用)
ufw 状态 状态:不活跃
答案1
答案2
我发现了问题所在。
当我将 DMZ 输入 192.168.1.2 时,问题就解决了。
谢谢你们的帮助