ゲストOS(CentOS5.2)のApacheにホストOSからアクセスできない時の対処方法

ゲストOSのCentOS5.2にApacheのインストールが終わり、いざホストOSからゲストOSのApacheのページへアクセスしようとしたのですが応答がありませんでした。

原因はiptables(Firewall)で外部からのWebへのアクセスが許可されていないことでした。

0-1. 目次

0-2. 環境

仮想環境 VMware1.0.8
ホストOS WindowsVista
ゲストOS CentOS5.2

0-3. 前提条件

  • ホストOSからゲストOSへのPINGは通じている
  • Apacheがインストールされている
    確認方法(バージョンを調べるコマンドで確認)

[cc lang=”php”]
$ /usr/sbin/httpd -v
Server version: Apache/2.2.3
Server built:   Jan 15 2008 20:33:30
[/cc]

  • Apache(httpd)が起動している
    確認方法

[cc lang=”php”]
$ ps ax | grep httpd
このようにでていればOK
3109 ?        Ss     0:00 /usr/sbin/httpd
3111 ?        S      0:00 /usr/sbin/httpd
[/cc]

0-4. 対応方法

Web(80番ポート)を空けてあげましょう。

1) /etc/sysconfig/iptablesファイルに下記を追記します

[cc lang=”php”]
$ sudo vi /etc/sysconfig/iptables
-A INPUT -p tcp –dport 80 -j ACCEPT
[/cc]

2) 再起動します

[cc lang=”php”]
$sudo /etc/init.d/iptables restart
[/cc]
これで無事、ホストOSからゲストOSのApacheへアクセスできました。

3) iptablesを確認する方法

iptableコマンドに「–list」オプションを付けて実行します

[cc lang=”php”]
$ /sbin/iptables –list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
RH-Firewall-1-INPUT  all  —  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
RH-Firewall-1-INPUT  all  —  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain RH-Firewall-1-INPUT (2 references)
target     prot opt source               destination
ACCEPT     all  —  anywhere             anywhere
ACCEPT     icmp —  anywhere             anywhere            icmp any
ACCEPT     esp  —  anywhere             anywhere
ACCEPT     ah   —  anywhere             anywhere
ACCEPT     udp  —  anywhere             224.0.0.251         udp dpt:mdns
ACCEPT     udp  —  anywhere             anywhere            udp dpt:ipp
ACCEPT     tcp  —  anywhere             anywhere            tcp dpt:ipp
# ↓この一行が適用されました
ACCEPT     tcp  —  anywhere             anywhere            tcp dpt:http
ACCEPT     all  —  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     tcp  —  anywhere             anywhere            state NEW tcp dpt:ssh
REJECT     all  —  anywhere             anywhere            reject-with icmp-host-prohibi
[/cc]

  • 編集前のファイルの内容

[cc lang=”php”]
$ sudo less /etc/sysconfig/iptables
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT – [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp –dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited
COMMIT
[/cc]

  • 編集後のファイルの内容

[cc lang=”php”]
$ sudo less /etc/sysconfig/iptables         [/var/www]5:48:51
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT – [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp –icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp –dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp –dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp –dport 80 -j ACCEPT # ここが追加した行。
-A RH-Firewall-1-INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT –reject-with icmp-host-prohibited
COMMIT
[/cc]

0-5. 参考サイト

コメントを残す