我正在用CentOS设置一个VirtualBox,这样我就可以在Linux机器上testing所有的代码,而不是用于开发的Windows。
我只是得到了SSH工作(我SSH到本地主机:2222,它的端口转发到虚拟机端口22)。
它使用NAT,因为由于某种原因,它拒绝以桥接适配器开始。
我正在尝试与Apache做同样的事情,以使Web服务器正常运行。
我已经将本地端口8888端口转发到我的CentOS Virtualbox的端口80,但我似乎无法访问我的浏览器中的localhost:8888任何东西?
Apache也正在运行:
ps -e | grep httpd 2108? 00:00:00 httpd 2110? 00:00:00 httpd 2111? 00:00:00 httpd 2112? 00:00:00 httpd 2113? 00:00:00 httpd 2114? 00:00:00 httpd 2115? 00:00:00 httpd 2116? 00:00:00 httpd 2117? 00:00:00 httpd
iptables的:
#由iptables-save v1.4.7生成2012年1月27日星期五18:26:36 *过滤 :input接受[0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [32:2278] -Ainput-m状态 - 状态RELATED,ESTABLISHED -j接受 -Ainput-p icmp -j ACCEPT -Ainput-i lo -j接受 -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT -INPUT -J REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited -I INPUT -p tcp --dport 80 -m状态--state新build,ESTABLISHED -j接受 -I OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT -I INPUT -p tcp --dport 443 -m状态 - 状态NEW,ESTABLISHED -j ACCEPT -I OUTPUT -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT 承诺 #2012年1月27日星期五18:26:36完成
我也停止了iptables,所以这不是干涉。 我尝试从我的CentOS虚拟机telnet到端口80,看它是否工作,127.0.0.1或[vm ip]都不能用于telnet到端口80.它connecting to [ip] ,然后说connection closed by foreign host 。 对于我的httpd.conf中的listen行,它说listen 0.0.0.0:80
netstat -tlnp |的输出 grep http
netstat -tlnp | grep http tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2032 / httpd tcp 0 0 ::: 443 ::: * LISTEN 2032 / httpd
当我nmap本地主机 ,我得到
[root @ CentOS conf]#nmap localhost 从Nmap 5.21开始(http://nmap.org)于2012-01-28 00:58 WST 本地主机的Nmap扫描报告(127.0.0.1) 主机已启动(延迟0.0000090s)。 主机名localhostparsing为3个IP。 只扫描127.0.0.1 未显示:993个closures的端口 港口国服务 22 / tcp打开ssh 23 / tcp打开telnet 25 / tcp打开smtp 80 / tcp打开http 111 / tcp打开rpcbind 443 / tcp打开https 631 / tcp打开ipp
你有复制粘贴iptables规则? 如果是的话,那么就有一个错误:
_I OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
连字符的下划线。
首先,您必须确保apache正在侦听以太网接口(来自VM的接口)或所有地址。 对于这个运行:
sudo netstat -tlnp|grep http
如果它没有监听外部接口(而不是回送一个),那么你必须在apacheconfiguration中更改Listen指令并重新启动apache(不重新加载)。
在virtualbox中,尝试将networking设置更改为Bridge Adapter而不是NAT,然后select要使用的适当接口(有线或无线)。 启动CentOS,然后重新检查您的以太网地址(运行ifconfig)。
从那里检查你现在是否可以使用新的以太网地址访问Apache。
关于ssh的centos,你必须确保编辑sshd_config并取消注释如下:
Port 22 PermitRootLogin No
另外创build另一个用户,然后在sshd_config中添加该用户:
AllowUsers username