我似乎遇到了 vzctl 安装中的一个错误。根据官方 wiki 的说法,在干净的 CentOS6.5 最小安装中安装它时,网络连接仅限于 ping IP 地址(我怀疑仅限于 ICMP 流量)。
我已经创建了一个错误报告附有重现步骤,也复制于此处:
- 使用 CentOS-6.5-x86_64-minimal.iso 安装节点
ifup eth0
并ping google.com
观察DNS解析和网络连接。- 安装 wget (
yum install wget
)。 - 按照步骤操作http://wiki.openvz.org/Quick_installation安装 vzkernel、vzctl、vzquota 和 ploop。
- 重启
ifup eth0
并ping google.com
观察到没有 DNS 解析和网络连接。- 编辑
/etc/modprobe.d/openvz.conf
并options nf_conntrack ip_conntrack_disable_ve0=0
保存。 - 重启
ifup eth0
并ping google.com
观察DNS解析和网络连接。
请注意,通过禁用 iptablesservice iptables stop
可以恢复连接,但这是一种“次优”的(哼哼:P)解决方法。
这是的输出iptables-save
:
# iptables-save
# Generated by iptables-save v1.4.7 on Wed Apr 30 12:50:00 2014
*mangle
:PREROUTING ACCEPT [110:16800]
:INPUT ACCEPT [107:15810]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [35:4954]
:POSTROUTING ACCEPT [35:4954]
COMMIT
# Completed on Wed Apr 30 12:50:00 2014
# Generated by iptables-save v1.4.7 on Wed Apr 30 12:50:00 2014
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [35:4954]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Wed Apr 30 12:50:00 2014
答案1
conntrack 参数帮我修复了这个问题,但是你可能已经忘记了这些设置
/etc/sysctl.conf:
net.ipv4.ip_forward = 1
net.ipv4.conf.default.proxy_arp = 0
net.ipv4.conf.all.rp_filter = 1
kernel.sysrq = 1
net.ipv4.conf.default.send_redirects = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.conf.default.forwarding=1
重新加载
系统控制-p
我还必须建立一座桥梁,不确定这是否与此有关,但值得研究!