无法远程访问(LAMP 问题)

无法远程访问(LAMP 问题)

我无法远程访问我的家庭服务器,尽管它在 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

你有动态 DNS设置?除非您有业务连接,否则您的网络是私有的。即使如此,您通常也必须设置转发端口在您公司的路由器上。

我实际上会选择 Digital Ocean 或其他 VPS 提供商来做这件事。这样会轻松很多,而且我见过一些(不是 DO)提供商每月为小型服务器支付 3 美元。

答案2

我发现了问题所在。

当我将 DMZ 输入 192.168.1.2 时,问题就解决了。

谢谢你们的帮助

相关内容