環境:
物理機:CentOS 5.6 x86_64 + KVM
虛擬機:CentOS 5.6 x86_64, Windows 2003 server
問題:
- 在物理機上可以使用域名訪問網網站,在虛擬機中卻無法使用域名訪問網站,但可以通過ip訪問網站。
- 關閉物理機的防火牆(iptables)后,虛擬機可以使用域名訪問網站
分析:
應該是物理機防火牆(iptables)配置的問題
解決:
物理機防火牆對虛擬機的域名解析有影響。
域名解析使用53號端口,因此查看物理機的53號端口:
[root@centos56 ~]# netstat -ano |grep 53
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN off (0.00/0/0)
tcp 0 0 211.98.99.249:5904 61.237.253.2:10455 ESTABLISHED off (0.00/0/0)
tcp 0 0 211.98.99.249:445 61.237.253.2:35742 ESTABLISHED keepalive (3697.76/0/0)
tcp 0 52 211.98.99.249:22 61.237.253.2:41058 ESTABLISHED on (0.41/0/0)
tcp 0 0 211.98.99.249:5904 61.237.253.2:61023 ESTABLISHED off (0.00/0/0)
tcp 0 0 211.98.99.249:5903 61.237.253.2:32072 ESTABLISHED off (0.00/0/0)
tcp 0 0 211.98.99.249:5902 61.237.253.2:16918 ESTABLISHED off (0.00/0/0)
tcp 0 0 211.98.99.249:445 61.237.253.2:34823 ESTABLISHED keepalive (4749.99/0/0)
udp 0 0
192.168.122.1:53 0.0.0.0:* off (0.00/0/0)
udp 0 0 0.0.0.0:5353 0.0.0.0:* off (0.00/0/0)
192.168.122.1上開了53號端口,原來kvm在virbr0上開了域名解析服務。
192.168.122.1是虛擬網橋virbr0的ip
[root@centos56 ~]# ifconfig virbr0
virbr0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet addr:192.168.122.1 Bcast:192.168.122.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:2086 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:548897 (536.0 KiB)
解決:
修改物理機iptables配置,把53號端口加入防火牆
[root@centos56 ~]#
vi /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 -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 -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5901 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5902 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
上述修改完成后,使用service iptables restart重啟防火牆