37个常见问题与答案,帮你玩转青云QingCloud
-
为什么我的主机不能访问外网
只有绑定了公网 IP 的主机才可以访问外网。
-
主机绑定了公网 IP 之后,为什么我无法通过 IP SSH 登录,也不能 ping 通该 IP?
为了加强位于基础网络 vxnet-0 中的主机的安全性, 青云在主机之前放置了一个防火墙(Security Group)。 初始状态下,每个防火墙都不包含任何规则,即,全部端口都是封闭的, 您需要建立规则以打开相应的端口。
注解 如果你的主机使用的是默认防火墙,那么 ping 和 ssh 的端口都是默认打开的,你无需再进行操作。
例如您需要访问主机的22号端口,需要手动为主机的防火墙添加一条 接受 tcp 22 端口 的下行规则,然后再点击 更新规则 使其应用到主机。
同理,如果你想开启 ping 功能, 需要在防火墙里头添加 接受 ICMP echo request 的下行规则。
-
如果我有多台主机需要访问外网,是不是每台主机都需要绑定一个公网 IP ?
当然不是这样。您可以将需要访问外网的主机加入到您的某个受管私有网络中, 再将该受管私有网络连接到您创建的路由器上, 然后再给路由器上绑定一个公网 IP。这样, 位于受管私有网络中的所有主机都可以连接互联网了,既节省钱,也节约 IP 地址。
-
主机关机后还收费吗?
当主机关机后,只收取系统盘的费用,按照系统盘的占用空间 (Windows 50G, Linux 20G) 收费,收费标准同硬盘,CPU / 内存则不再收费。
除此以外,再说明下青云其他资源的收费规则:
-公网 IP 是从申请后就开始收费,不论是否处于使用状态。因为这个 IP 一旦被申请,别人就不能再占用。
-硬盘、自有镜像都是从创建时起开始收费,直到删除。
-路由器、负载均衡器只在“启动”后收费,关闭后便停止计费。
-防火墙、密钥、私有网络都是免费的。
-
连接青云远程终端时的默认登录用户名和密码是什么?
您可以在主机对应的映像详情页中找到默认的用户名和密码。
-
为什么我的主机无法获取 IP 地址?
青云官方提供的 Linux 映像使用 NetworkManager 来自动化主机的网络配置, 其默认配置是通过 DHCP 方式来获取 IP 地址,你需要保证 NetworkManager 相关的 daemon 正常运行。 如果工作不正常,你可以手动重启:
RHEL/CentOS
service NetworkManager restart
Fedora
systemctl restart NetworkManager
Debian
service network-manager restart
Ubuntu
service network-manager restart
必要时,你可能需要重启 messagebus daemon 后才能正常启动 NetworkManager:
RHEL/CentOS
service messagebus restart service NetworkManager restart
Fedora
systemctl restart messagebus systemctl restart NetworkManager
Debian
service messagebus restart service network-manager restart
Ubuntu
service dbus restart service network-manager restart
-
何种情况下我需要手动配置网络?
青云提供了两种网络配置模式,一种是全自动化的, 您的主机的所有网络配置与管理都交给青云系统完成, 称之为受管模式(Managed),另一种是手动的, 您必须自己关心主机的网络配置与管理,比如 IP 地址、路由等, 称之为自管模式(Unmanaged)。 显然,当您使用自管模式时,需要手动配置网络。 而当受管网络所连接的路由器上关闭了 DHCP 功能时,也需要手动配置网络。
对于如何为处于自管网络的主机手动配置静态 IP 地址,请参考以下两条问答。
-
如何为 Linux 主机配置静态 IP 地址?
请注意,只有当主机位于自管私有网络之中,或者受管私有网络的路由器关闭了 DHCP 时,您才需要自行配置 IP 地址。
注解 请勿手动配置基础网络中主机的 IP,否则会造成网络无法连接。
青云官方提供的 Linux 映像使用 NetworkManager 来自动化主机的网络配置, 其默认配置是通过 DHCP 方式来获取 IP 地址。以下步骤描述了如何配置静态地址:第一步,用指令 ip link 或者 ifconfig -a 找到网卡在主机中的设备名, 通常名为 eth0、eth1 等,以下以 eth0 名字为例。
第二步,配置网卡
RHEL/CentOS/Fedora
vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static ONBOOT=yes TYPE=Ethernet NM_CONTROLLED=no IPADDR=192.168.100.11 NETMASK=255.255.255.0 NETWORK=192.168.100.0 BROADCAST=192.168.100.255
对于 CentoOS 系统,手动配置网卡可能会和 NetworkManager 的管理有冲突,所以我们建议在手动配置网卡前先将 NetworkManager 禁用,禁用方法为:
service NetworkManager stop chkconfig NetworkManager off
Debian/Ubuntu
vi /etc/network/interfaces auto eth0 iface eth0 inet static address 192.168.100.11 netmask 255.255.255.0 network 192.168.100.0 broadcast 192.168.100.255
第三步,重启 NetworkManager 使之生效
如果之前已经将 NetworkManager 禁用,那么请忽略此步操作。
RHEL/CentOS
service NetworkManager restart
Fedora
systemctl restart NetworkManager
Debian
service network-manager restart
Ubuntu
restart network-manager
-
如何为 Windows 主机配置静态 IP 地址?
请注意,只有当主机位于自管私有网络之中时,您才需要自行配置 IP 地址。
依次 开始 –> 控制面板 –> 网络,右键点击 本地连接,选择 属性, 在弹出的对话框中,选中 Internet 协议版本4,然后点击 属性 按钮, 在弹出的对话框中即可设置静态 IP 地址。
-
如何启用 SSH 密码登录 Linux 主机?
为了安全方面的考量,青云官方提供的 Linux 映像都禁用了 SSH 密码登录。 当然,您完全可以自行启用密码登录, 但请一定记得修改操作系统用户密码为复杂字串,否则极不安全。
以下步骤启用 SSH 密码登录
vi /etc/ssh/sshd_config PasswordAuthentication yes
重启 ssh daemon 使之生效
RHEL/CentOS
service sshd restart
Fedora
systemctl restart sshd
Debian/Ubuntu
service ssh restart
警告 强烈建议不要使用密码方式 SSH 登录!
-
如何使用 SSH 密钥来访问主机?
你需要在控制台的“安全”-》“SSH 密钥”里面创建一个 SSH 密钥, 然后加载到你的主机上并下载私钥文件(例如 kp-1234abcd )。
注解 在进行 SSH 连接之前,请确保在主机对应的防火墙下行规则中打开 TCP 22 号端口的访问。
Linux下,使用下面的命令登录
chmod 600 /path/to/kp-1234abcd ssh -i /path/to/kp-1234abcd root@ip_address
Windows 下用 putty
很多 Windows 桌面用户都会使用著名的 PuTTY 作为 SSH 客户端来登录远程的 Linux 主机,但是 PuTTY 不支持 OpenSSH 的密钥格式,而是使用它自己的密钥格式。因此,PuTTY 提供了一个名为puttygen的密钥格式转换工具。
-首先下载putty和puttygen:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
-转换密钥格式
启动 puttygen,点击 Conversions –> Import key,选中您在青云中创建并下载的 SSH 密钥,文件名形如kp-1234abcd。然后点击 Save private key,您将得到 PuTTY 格式的私钥,如kp-1234abcd.ppk
-配置登录
打开putty。
点击putty左边导航的connection->data, auto-login username 处填入登录名:root
点击putty左边导航的connection->ssh->auth, 最下面有private key file for authantication字样,点击旁边的browse,选择之前生成的kp-1234abcd.ppk文件,确定。
点击putty左边导航的session,host name中填写主机的公网IP地址,例如1.2.3.4。
最后点击下面的open进行连接即可。
如果想下次登录方便,可以点击putty左边导航的session,在save sessions中填入名称并保存,将当前配置保存下来。
Windows 下使用 SecureCRT
注解 推荐使用SecureCRT 6.5 及以上版本,低版本会出现私钥无法导入的情况
-
在青云控制台的“安全”-》“SSH 密钥”里创建 SSH 密钥,将这个密钥加载到主机上并下载私钥文件,例如kp-12345678;
-
在 SecureCRT 上创建一个新连接,protocol 是 SSH2,hostname 是公网 IP 地址,username 为 root;
-
右键选中这个 session,选择 Properties,在 Connection –> SSH2 的 Authentication 面板里面,选中 PublicKey,点击右边的上箭头,将这个选项排到第一位;
-
继续选中 PublicKey,点击右边的 Properties,选择 Use session public key setting,在下面的 Use identity or certificate file,导入下载的私钥文件kp-12345678;
-
连接即可。
较低版本的 SecureCRT 可能会遇到无法导入私钥的问题,因为低版本的 SecureCRT 会严格要求私钥需要和公钥共同存在,这种情况下,操作步骤如下:
- 在青云控制台创建 SSH 密钥,将这个密钥加载到主机上并下载私钥文件,例如放置于 /path/to/kp-1234abcd ;
- 在路径 /path/to/ 下创建新文件kp-1234abcd.pub;
- 在 SSH 密钥 kp-1234abcd 的详情页中找到公钥的字符串,并拷贝下来放入kp-1234abcd.pub文件中,并且在公钥内容前面加上加密方式,最终文件内容为:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC90PM9PT…;
- 在 SecureCRT 上创建一个新连接,protocol 是 SSH2,hostname 是公网 IP 地址,username 为 root;
- 右键选中这个 session,选择 Properties,在 Connection –> SSH2 的 Authentication 面板里面,选中 PublicKey,点击右边的上箭头,将这个选项排到第一位;
- 继续选中 PublicKey,点击右边的 Properties,选择 Use session public key setting,在下面的 Use identity or certificate file,导入下载的私钥文件kp-12345678;
- 连接即可。
-
-
SSH 客户端连接 timeout 问题
ssh 的默认配置为了安全考虑,当发现客户端一段时间内没有输入,就会断开这个 session, 这给使用者带来些许不便。解决这个问题有两种办法:
1.修改 ssh server 端配置,添加
vi /etc/ssh/sshd_config ClientAliveInterval 60 ClientAliveCountMax 3
修改后记得重启 ssh server
2.修改 ssh client 端配置,添加
vi /etc/ssh/ssh_config ServerAliveInterval 60 ServerAliveCountMax 3
-
主机密码忘记了怎么办?
Linux 主机
对于 Linux 主机,你可以通过 SSH 密钥登录来获取 root 权限,然后通过 passwd 命令来修改密码。 关于 SSH 密钥登录可以参见 FAQ 的 如何使用 SSH 密钥来访问主机
Windows 主机
对于 Windows 主机,你可以提交工单,由管理员帮你重置密码。
-
为什么我的主机的私有 IP 会发生变化?
如果您的主机位于基础网络 vxnet-0 中,那么私有 IP 是有可能发生变化的。 因为青云系统在 vxnet-0 网络里面内置了一个 DHCP 服务器, 网内主机的内网IP都是通过 DHCP 方式获取的。 一般而言,持续运行中的主机的内网 IP 很少会发生 IP 改变(当然不能保证不变)。 如果主机停机了再启动,则由于 DHCP lease 时间已过,一般变化可能性就比较大。 你可以使用我们提供的内网域名解析服务来规避这个问题,例如主机 ID 是 i-12345678 ,则 i-12345678.pek1.qingcloud.com 解析的就是内网 IP 。 也就是说,虽然主机 IP 有可能变化,但是域名是不变的。
如果您的主机位于自己创建的私有网络中,并且该私有网络是受管私有网络, 则主机的私有 IP 也是通过 DHCP 服务器分配的,且是固定 IP 。
如果您的主机位于自己创建的私有网络中,并且该私有网络是自管私有网络。 在这种情况下,由于私有 IP 都是您自己管理的,所以私有 IP 也是不会发生变化的。
-
为什么我的 windows 主机远程桌面连接不上?
首先, 在 Windows 主机里打开RDP服务:
1.使用“虚拟终端”登录 Windows 主机,“虚拟终端”就是主机 ID 旁边的 显示器形状的小图标,点击即可以弹出 Windows 桌面;
2.右键点击“我的电脑” -> “属性” -> “远程” -> 选择”启用这台机器上的远程桌面”。然后您需要在青云控制台的“安全”-》“防火墙”中手动为主机的防火墙添加一条 接受 tcp 3389 端口 的下行规则, 点击 更新规则 使其应用到主机。
如果希望在 windows 本地电脑与远程服务器之间复制粘贴,你需要确认如下设置:
1.打开本机的远程桌面连接时,按照下图所示勾选要远程使用的资源。
2.在服务器上打开任务管理器,查看进程,看是否有 rdpclip.exe 进程。 通常,只要存在该进程,就可以在本机和远程服务器之间粘贴文本了。 如果没有此进程则需要手动启动,开始->运行->rdpclip.exe
-
如何开启 windows 的共享功能
警告 windows smb (Server Message Block) 很容易感染病毒和被黑客袭击,请谨慎使用。 推荐使用 FTP 方式传文件,如果一定要用共享,建议复制完文件就关闭共享。
修改注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters Dword: AutoShareServer 1 HKEY_LOCAL_MACHINE\System\Controlset\Services\NetBT\Parameters Dword: SMBDeviceEnabled 1
如果是 window 2008,还需要:
- 打开 控制面板 –> 网络和Internet –> 网络和共享中心
- 点击左侧的 更改适配器设置 ,右键点击 网卡 ,并选择 属性
- 在弹出的对话框中勾中 Microsoft网络的文件和打印机共享 并确定
- 回到 控制面板 –> 网络和Internet –> 网络和共享中心
- 点击左侧的 更改高级共享设置 ,确保 公用(当前配置文件) 项下的各个与共享相关的选项都启用了,并确定
最后重启你的 windows 即可。
-
加载硬盘了之后如何使用?
1. 如何分区格式化?
硬盘有 disk size 和 partition size 两个概念。
如果你的硬盘是第一次加载的硬盘,就需要进行分区、格式化,和 mount 操作。 如果是老硬盘,且没有扩容,就不用再分区、格式化了,直接 mount 就行。
警告 如果硬盘容量大于1TB,建议使用 parted 工具进行分区。
以 Ubuntu Linux 为例,以下操作需要 root 权限。第一步我们先为磁盘分区
- list item使用 fdisk 分区
通过 fdisk -l 命令查看挂载的硬盘,假设为 /dev/sdc
fdisk -l ... Disk /dev/sdc: 10.7 GB, 10737418240 bytes 64 heads, 32 sectors/track, 10240 cylinders, total 20971520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Disk /dev/sdc doesn't contain a valid partition table
对硬盘进行分区:
fdisk /dev/sdc
然后根据提示,依次输入 n, p, 1, 以及 两次回车,然后是 wq,完成保存。 这样再次通过 fdisk -l 查看时,你可以看到新建的分区 /dev/sdc1
fdisk -l ... Disk /dev/sdc: 10.7 GB, 10737418240 bytes 64 heads, 32 sectors/track, 10240 cylinders, total 20971520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x17adb4cb Device Boot Start End Blocks Id System /dev/sdc1 2048 20971519 10484736 83 Linux
- list item使用 parted 分区
通过 parted -l 命令查看新挂载的硬盘,假设为 /dev/sdc
parted -l .. 错误: /dev/sdc: unrecognised disk label
对硬盘进行分区:
parted /dev/sdc
然后创建新分区
(parted) mklabel gpt (parted) mkpart primary 1049K -1 (parted) quit
这时再查看硬盘信息时会看到 /dev/sdc1
parted -l ... Model: QEMU QEMU HARDDISK (scsi) Disk /dev/sdc: 10.7GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name 标志 1 1049kB 10.7GB 10.7GB primary
第二步分区后要进行格式化,例如格式化为 ext4 格式
mkfs -t ext4 /dev/sdc1
最后一步是挂载硬盘:
mkdir -p /mnt/sdc && mount -t ext4 /dev/sdc1 /mnt/sdc
警告 为了防止宿主机在突然断电时可能对数据带来的风险,如果文件系统是ext3, 则需要在mount的时候显式的指定”barrier=1”选项,例如”mount -t ext3 -o barrier=1 /dev/sdc1 /mnt/point”
2. 如何自动挂载?
如果你需要在系统启动时自动挂载,不要在 /etc/fstab 直接指定 /dev/sdc1 这样的写法, 因为在云中设备的顺序编码在关机、开机过程中可能发生改变,推荐使用 UUID 或者 LABEL 的方式来指定:
如果使用 UUID,则先通过 “blkid /dev/sdc1” 命令,得到磁盘的 UUID,例如:
/dev/sdc1: UUID="185dc58b-3f12-4e90-952e-7acfa3e0b6fb" TYPE="ext4"
然后在 /etc/fstab 里面,加入:
UUID=185dc58b-3f12-4e90-952e-7acfa3e0b6fb /mnt/mydisk ext4 defaults 0 2
如果使用 LABEL,则在格式化硬盘时,需要指定 LABEL,例如:
mkfs -t ext4 -L MY_DISK_LABEL /dev/sdc1
然后在 /etc/fstab 里面,加入:
LABEL=MY_DISK_LABEL /mnt/mydisk ext4 defaults 0 2
-
如何对硬盘进行扩容?
硬盘有 disk size 和 partition size 两个概念。通过青云控制台或 API 扩容只是扩大了硬盘的物理空间,即 disk size 。 在加载到主机后还需要手动扩大 partition size。
有很多工具可以做到调整分区大小、而不损坏数据,比如 windows 上有 pqmagic, Linux 上也有这样的工具,如 parted,fdisk,图形界面下可以用 gparted, 命令行下,得看您的分区是什么文件系统,如果是 ext2/ext3/ext4 的话,就用 resize2fs 来扩容。
警告 建议在扩容前先对硬盘做一次备份,万一操作失误还可以回滚。 如果硬盘容量大于1TB,建议使用 parted 工具进行分区。
下面以 CentOS Linux 为例,假设主机上已挂载一块 10GB 的硬盘,分区为 “/dev/sdc1” (有些磁盘的分区可能是 /dev/vd*),文件系统格式为 “ext3”,挂载位置是 “/mnt/sdc”,现在需要扩容到 20GB 。步骤如下 (需要 root 权限):
第一步先在主机内部卸载硬盘:
umount /mnt/sdc
第二步在控制台将硬盘从主机解绑,将硬盘进行扩容后再重新绑定到主机。
第三步开始扩大分区:
使用 fdisk 扩大分区
通过 “fdisk -l” 查看硬盘分区号,假设还是 “/dev/sdc1”,你的显示内容可能有些区别,比如units是sector而不是下面显示的cylinder。
fdisk -l ... Disk /dev/sdc: 21.5 GB, 21474836480 bytes 64 heads, 32 sectors/track, 20480 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x56250342 Device Boot Start End Blocks Id System /dev/sdc1 1024 10240 9438208 83 Linux
这时可以看到 Disk /dev/sdc 的物理容量已是 20GB,不过 sdc1 还是原来的大小, 磁柱是从 1024 到 10240。
警告 其中的起始磁柱位置(Start 对应的数字,此例中是 1024)要牢记, 后面重新分区时要用到。
我们开始对 sdc 重新分区(不会损失数据):
fdisk /dev/sdc
输入 d 删除 sdc1 分区,之后依次输入 n, p, 1 建立新分区。在输入新分区起始磁柱(First cylinder)或者是起始扇区(First sector)时,依然选择之前的数字 1024 ,这样可以防止数据丢失。设定好后输入 wq 使分区表生效。
使用 parted 扩大分区
通过 “parted -l” 查看硬盘分区号,假设还是 “/dev/sdc1”,
parted -l ... Model: QEMU QEMU HARDDISK (scsi) Disk /dev/sdc: 21.5GB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name 标志 1 1049kB 10.7GB 10.7GB ext3 primary
这时可以看到 Disk /dev/sdc 的物理容量已扩大,不过 sdc1 还是原来的大小, 磁柱是从 1049k 到 10.7GB。
警告 其中的起始位置(Start 对应的值,此例中是 1049k)要牢记, 后面重新分区时要用到。
我们开始对 sdc 重新分区(不会损失数据):
parted /dev/sdc
先删除 sdc1 分区
(parted) rm 1
建立新分区。起始位置(Start)依然选择之前的值: 1049k
(parted) mkpart primary 1049k -1 (parted) quit
第四步分区扩大后我们还要通过 resize2fs 调整 sdc1 的文件系统大小
e2fsck -f /dev/sdc1 resize2fs /dev/sdc1
最后一步重新挂载硬盘:
mount -t ext3 -o barrier=1 /dev/sdc1 /mnt/sdc
这时通过 “df -h” 指令即可查看扩容后的分区大小
-
如何搭建 FTP 服务
首先创建一个 Linux 主机(以 Ubuntu 为例),并在青云防火墙中打开 tcp 21 下行,并“更新规则”。 如果此主机是在私有网络中,除了防火墙规则,还需要在私网所连接的路由器中将所需端口转发给这个主机。
下面简单介绍下安装 vsftpd 和 proftpd 的注意事项:
-
vsftpd 安装
apt-get install vsftpd
修改配置文件 /etc/vsftpd.conf 后,重启生效
service vsftpd restart
如果你的 ftp client 位于 NAT 之后,ftp server 必须启用 passive mode ,编辑 /etc/vsftpd.conf
pasv_enable=Yes pasv_max_port=21000 pasv_min_port=20000 pasv_address=your.ftp.server.public.ip
安全起见,vsftpd 默认配置是不允许 root 登录的。如果确实需要,可以在 /etc/vsftpd/user_list 文件中把 root 那一行删除或者注释掉, 同样把 /etc/vsftpd/ftpusers 文件中的 root 也注释掉。然后重启 vsftpd 就可以了。
- proftpd 安装
apt-get install proftpd
修改配置文件 /etc/proftpd/proftpd.conf 后,重启生效
service proftpd restart
如果你的 ftp client 位于 NAT 之后,proftpd server 必须启用 passive mode , 在 /etc/proftpd/proftpd.conf 中打开 PassivePorts 和 MasqueradeAddress :
PassivePorts 20000 21000 MasqueradeAddress ftp.server.public.ip
注解 被动模式的端口范围可以任意指定,不过请记得打开青云防火墙中对应的端口范围, 如果 FTP 服务器是在私有网络内,还要留意路由器内是否正确转发了所需端口。 还有修改配置文件后记得重启 FTP 服务使之生效。
-
-
青云主机之间的网络带宽是多少?
为了保证用户之间的公平,青云对主机之间的网络带宽限制为: 平均限制为 512Mbps,峰值限制为 1Gbps。