如何查看云主机的mac地址?
本节介绍如何查看云主机的mac地址。
说明云主机的mac地址不支持修改。
Linux操作系统(CentOS 6)
ifconfig
图 查看MAC地址
Linux操作系统(CentOS 7)
- 登录Linux云主机。
- 执行以下命令,查看云主机的mac地址。
ifconfig
图 查看网卡信息
- 执行以下命令查看eth0的mac地址。
ifconfig eth0 |egrep "ether"
图 查看eth0的mac地址
- 返回mac地址
ifconfig eth0 |egrep "ether" |awk '{print $2}'
图 查看eth0的mac地址
Windows操作系统
- 使用快捷键“Win+R”,打开“运行”窗口。
- 在“打开”栏,输入“cmd”,单击“确定”。
- 执行以下命令,查看云主机的mac地址。
ipconfig /all
网络性能测试方法
手把手教你用netperf工具、iperf3工具,测试弹性云主机间网络性能。主要包括“测试准备”、“TCP带宽测试”、“UDP PPS测试”和“时延测试”。
背景信息
- 被测机:被压力测试网络性能的弹性云主机,可作为netperf测试中的client端(发送端)或server端(接收端)。
- 辅助云主机:弹性云主机,用于netperf测试中的client端(发送端)或server端(接收端),用于与被测机建立连接,传递测试数据。
- 测试工具常用参数说明如下表所示。
表 netperf工具常用参数说明
参数 | 参数说明 |
---|---|
-p | 端口号 |
-H | 接收端IP地址 |
-t | 发包协议类型,测带宽时参数值为“TCP_STREAM” |
-l | 测试时长 |
-m | 数据包大小,测试带宽时建议设置为“1440” |
表 iperf3工具常用参数说明
参数 | 参数说明 |
---|---|
-p | 端口号 |
-c | 接收端IP地址 |
-u | UDP报文 |
-b | 发送带宽 |
-t | 测试时长 |
-l | 数据包大小,测试PPS时建议设置为“16” |
-A | iperf3占用的cpu编号。本文示例中假设ECS最大为16vcpu,实际中根据ECS CPU数量进行循环。如ECS为8vcpu,则-A范围07,07。 |
测试准备
步骤 1准备弹性云主机。
要求:被测机与辅助弹性云主机的类型、规格需保持一致,并在同一云主机组,遵循反亲和部署。
表 环境准备
类型 | 数量 | 镜像 | 规格 | IP地址 |
---|---|---|---|---|
被测机 | 1台 | CentOS 7.4 64bit(推荐) | - | 192.168.2.10 |
辅助云主机 | 8台 | CentOS 7.4 64bit(推荐) | vCPU:8核及以上 | 192.168.2.11 ~ 192.168.2.18 |
步骤 2准备测试工具。
要求:需分别在被测机和辅助云主机上安装测试工具netperf、iperf3、sar。安装方法如下表所示。
表 安装测试工具
测试工具 | 安装方法 |
---|---|
netperf | 执行以下命名,安装gcc。yum -y install unzip gcc gcc-c++执行以下命令,下载netperf。wget --no-check-certificatehttps://github.com/HewlettPackard/netperf/archive/netperf-2.7.0.zip-O netperf-2.7.0.zip执行以下命令,解压并安装netperf。unzip netperf-2.7.0.zipcd netperf-netperf-2.7.0/./configure && make && make install |
iperf3 | 执行以下命令,下载iperf3。wget --no-check-certificatehttps://codeload.github.com/esnet/iperf/zip/master-O iperf3.zip执行以下命令,解压并安装iperf3。unzip iperf3.zipcd iperf-master/./configure && make && make install |
sar | 执行以下命令,安装sar。yum -y install sysstat |
步骤 3开启网卡多队列。
要求:需分别在被测机和辅助云主机上开启网卡多队列。
- 执行以下命令,检查弹性云主机支持的队列个数。
ethtool -l eth0 | grep -i Pre -A 5 | grep Combined
- 执行以下命令,设置队列数,开启网卡多队列功能。
ethtool -L eth0 combined X
其中,X表示步骤3.1中查询的队列数。
TCP带宽测试(使用netperf工具)
采用多流进行测试,本文以16条流为例,均分到8个ECS上,其他流数以此类推。
步骤 1测试TCP发送带宽。
- 分别在“所有辅助云主机”中执行以下命令,启动netserver进程。
netserver -p 12001
netserver -p 12002
其中,-p用于指定监听端口。
- 在“被测机”中执行以下命令,启动netperf进程,分别指定到辅助云主机的不同netserver端口。其中,netperf工具的常用参数说明请参见表 netperf工具常用参数说明。
##IP地址对应第1台辅助云主机
netperf -H 192.168.2.11 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &
netperf -H 192.168.2.11 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &
##IP地址对应第2台辅助云主机
netperf -H 192.168.2.12 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &
netperf -H 192.168.2.12 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &
##IP地址对应第3台辅助云主机
netperf -H 192.168.2.13 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &
netperf -H 192.168.2.13 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &
##IP地址对应第4台辅助云主机
netperf -H 192.168.2.14 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &
netperf -H 192.168.2.14 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &
##IP地址对应第5台辅助云主机
netperf -H 192.168.2.15 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &
netperf -H 192.168.2.15 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &
##IP地址对应第6台辅助云主机
netperf -H 192.168.2.16 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &
netperf -H 192.168.2.16 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &
##IP地址对应第7台辅助云主机
netperf -H 192.168.2.17 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &
netperf -H 192.168.2.17 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &
##IP地址对应第8台辅助云主机
netperf -H 192.168.2.18 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &
netperf -H 192.168.2.18 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &
步骤 2测试TCP接收带宽。
- 在“被测机”中执行以下命令,启动netserver进程。
##port对应第1台辅助云主机
netserver -p 12001
netserver -p 12002
##port对应第2台辅助云主机
netserver -p 12003
netserver -p 12004
##port对应第3台辅助云主机
netserver -p 12005
netserver -p 12006
##port对应第4台辅助云主机
netserver -p 12007
netserver -p 12008
##port对应第5台辅助云主机
netserver -p 12009
netserver -p 12010
##port对应第6台辅助云主机
netserver -p 12011
netserver -p 12012
##port对应第7台辅助云主机
netserver -p 12013
netserver -p 12014
##port对应第8台辅助云主机
netserver -p 12015
netserver -p 12016
- 执行以下命令,分别在“辅助云云主机”中启动netperf进程。
登录辅助云主机1:
netperf -H 192.168.2.10 -p 12001 -t TCP_STREAM -l 300 -- -m 1440 &
netperf -H 192.168.2.10 -p 12002 -t TCP_STREAM -l 300 -- -m 1440 &
登录辅助云主机2:
netperf -H 192.168.2.10 -p 12003 -t TCP_STREAM -l 300 -- -m 1440 &
netperf -H 192.168.2.10 -p 12004 -t TCP_STREAM -l 300 -- -m 1440 &
登录辅助云主机3:
netperf -H 192.168.2.10 -p 12005 -t TCP_STREAM -l 300 -- -m 1440 &
netperf -H 192.168.2.10 -p 12006 -t TCP_STREAM -l 300 -- -m 1440 &
登录辅助云主机4:
netperf -H 192.168.2.10 -p 12007 -t TCP_STREAM -l 300 -- -m 1440 &
netperf -H 192.168.2.10 -p 12008 -t TCP_STREAM -l 300 -- -m 1440 &
登录辅助云主机5:
netperf -H 192.168.2.10 -p 12009 -t TCP_STREAM -l 300 -- -m 1440 &
netperf -H 192.168.2.10 -p 12010 -t TCP_STREAM -l 300 -- -m 1440 &
登录辅助云主机6:
netperf -H 192.168.2.10 -p 12011 -t TCP_STREAM -l 300 -- -m 1440 &
netperf -H 192.168.2.10 -p 12012 -t TCP_STREAM -l 300 -- -m 1440 &
登录辅助云主机7:
netperf -H 192.168.2.10 -p 12013 -t TCP_STREAM -l 300 -- -m 1440 &
netperf -H 192.168.2.10 -p 12014 -t TCP_STREAM -l 300 -- -m 1440 &
登录辅助云主机8:
netperf -H 192.168.2.10 -p 12015 -t TCP_STREAM -l 300 -- -m 1440 &
netperf -H 192.168.2.10 -p 12016 -t TCP_STREAM -l 300 -- -m 1440 &
步骤 3解析TCP测试结果。
测试结束后,发送端netperf进程输出结果如下图所示,最终结果为所有netperf进程测试结果之和。
图 发送端进程输出结果
由于netperf进程众多,为方便统计,强烈建议测试指令输入完毕后,直接在被测弹性云主机上用sar查看测试数据,命令为:
sar -n DEV 1 60
UDP PPS测试(使用iperf3工具)
步骤 1测试UDP发送PPS。
- 分别在所有“辅助云主机”中执行以下命令,启动server进程。
perf3 -s -p 12001 &
iperf3 -s -p 12002 &
其中,-p用于指定监听端口。
- 在“被测机”中执行如下命令,启动client进程。其中,iperf3工具的常用参数说明请参见表 iperf3工具常用参数。
##辅助云主机1
iperf3 -c 192.168.2.11 -p 12001 -u -b 100M -t 300 -l 16 -A 0 &
iperf3 -c 192.168.2.11 -p 12002 -u -b 100M -t 300 -l 16 -A 1 &
##辅助云主机2
iperf3 -c 192.168.2.12 -p 12001 -u -b 100M -t 300 -l 16 -A 2 &
iperf3 -c 192.168.2.12 -p 12002 -u -b 100M -t 300 -l 16 -A 3 &
##辅助云主机3
iperf3 -c 192.168.2.13 -p 12001 -u -b 100M -t 300 -l 16 -A 4 &
iperf3 -c 192.168.2.13 -p 12002 -u -b 100M -t 300 -l 16 -A 5 &
##辅助云主机4
iperf3 -c 192.168.2.14 -p 12001 -u -b 100M -t 300 -l 16 -A 6 &
iperf3 -c 192.168.2.14 -p 12002 -u -b 100M -t 300 -l 16 -A 7 &
##辅助云主机5
iperf3 -c 192.168.2.15 -p 12001 -u -b 100M -t 300 -l 16 -A 8 &
iperf3 -c 192.168.2.15 -p 12002 -u -b 100M -t 300 -l 16 -A 9 &
##辅助云主机6
iperf3 -c 192.168.2.16 -p 12001 -u -b 100M -t 300 -l 16 -A 10 &
iperf3 -c 192.168.2.16 -p 12002 -u -b 100M -t 300 -l 16 -A 11 &
##辅助云主机7
iperf3 -c 192.168.2.17 -p 12001 -u -b 100M -t 300 -l 16 -A 12 &
iperf3 -c 192.168.2.17 -p 12002 -u -b 100M -t 300 -l 16 -A 13 &
##辅助云主机8
iperf3 -c 192.168.2.18 -p 12001 -u -b 100M -t 300 -l 16 -A 14 &
iperf3 -c 192.168.2.18 -p 12002 -u -b 100M -t 300 -l 16 -A 15 &
步骤 2测试UDP接收PPS。
- 执行以下命令,在“被测机”中启动server进程。其中,iperf3工具的常用参数说明请参见表 iperf3工具常用参数。
##辅助云主机1
iperf3 -s -p 12001 -A 0 -i 60 &
iperf3 -s -p 12002 -A 1 -i 60 &
##辅助云主机2
iperf3 -s -p 12003 -A 2 -i 60 &
iperf3 -s -p 12004 -A 3 -i 60 &
##辅助云主机3
iperf3 -s -p 12005 -A 4 -i 60 &
iperf3 -s -p 12006 -A 5 -i 60 &
##辅助云主机4
iperf3 -s -p 12007 -A 6 -i 60 &
iperf3 -s -p 12008 -A 7 -i 60 &
##辅助云主机5
iperf3 -s -p 12009 -A 8 -i 60 &
iperf3 -s -p 12010 -A 9 -i 60 &
##辅助云主机6
iperf3 -s -p 12011 -A 10 -i 60 &
iperf3 -s -p 12012 -A 11 -i 60 &
##辅助云主机7
iperf3 -s -p 12013 -A 12 -i 60 &
iperf3 -s -p 12014 -A 13 -i 60 &
##辅助云主机8
iperf3 -s -p 12015 -A 14 -i 60 &
iperf3 -s -p 12016 -A 15 -i 60 &
- 分别在“辅助云主机”中,执行以下命令,启动client进程。其中,iperf3工具的常用参数说明请参见表 iperf3工具常用参数。
登录辅助云主机1:
iperf3 -c 192.168.2.10 -p 12001 -u -b 100M -t 300 -l 16 -A 0 &
iperf3 -c 192.168.2.10 -p 12002 -u -b 100M -t 300 -l 16 -A 1 &
登录辅助云主机2:
iperf3 -c 192.168.2.10 -p 12003 -u -b 100M -t 300 -l 16 -A 0 &
iperf3 -c 192.168.2.10 -p 12004 -u -b 100M -t 300 -l 16 -A 1 &
登录辅助云主机3:
iperf3 -c 192.168.2.10 -p 12005 -u -b 100M -t 300 -l 16 -A 0 &
iperf3 -c 192.168.2.10 -p 12006 -u -b 100M -t 300 -l 16 -A 1 &
登录辅助云主机4:
iperf3 -c 192.168.2.10 -p 12007 -u -b 100M -t 300 -l 16 -A 0 &
iperf3 -c 192.168.2.10 -p 12008 -u -b 100M -t 300 -l 16 -A 1 &
登录辅助云主机5:
iperf3 -c 192.168.2.10 -p 12009 -u -b 100M -t 300 -l 16 -A 0 &
iperf3 -c 192.168.2.10 -p 12010 -u -b 100M -t 300 -l 16 -A 1 &
登录辅助云主机6:
iperf3 -c 192.168.2.10 -p 12011 -u -b 100M -t 300 -l 16 -A 0 &
iperf3 -c 192.168.2.10 -p 12012 -u -b 100M -t 300 -l 16 -A 1 &
登录辅助云主机7:
iperf3 -c 192.168.2.10 -p 12013 -u -b 100M -t 300 -l 16 -A 0 &
iperf3 -c 192.168.2.10 -p 12014 -u -b 100M -t 300 -l 16 -A 1 &
登录辅助云主机8:
iperf3 -c 192.168.2.10 -p 12015 -u -b 100M -t 300 -l 16 -A 0 &
iperf3 -c 192.168.2.10 -p 12016 -u -b 100M -t 300 -l 16 -A 1 &
步骤 3解析UDP PPS测试结果。
UDP PPS测试结果示例如下图所示。
图 UDP PPS测试结果
由于iperf3进程众多,为方便统计,强烈建议测试指令输入完毕后,直接在被测弹性云主机上用sar查看测试数据,命令为:
sar -n DEV 1 60
时延测试
步骤 1执行以下命令,在“被测机”中启动qperf进程。
qperf &
步骤 2登录辅助云主机1,并执行以下命令,进行时延测试。
qperf 192.168.2.10 -m 64 -t 60 -vu udp_lat
测试完后屏幕显示结果的latency字段就是ECS间时延。
DHCP无法正常获取内网IP?
问题描述
DHCP无法正常获取内网IP,当DHCP无法正常获取内网IP时,不同系统的云主机表现如下:
- Linux系统表现为无法获取内网IP。
- windows系统由于自身的机制,会表现为云主机内网IP变为169.254网段中的一个IP,和官网上显示的内网IP不同。
处理方法
步骤 1查看云主机内是否存在dhclient进程,
- 登录Linux云主机,执行如下命令,查看是否存在dhclient进程。
ps -ef | grep dhclient,
- 若dhclient进程不存在,可以登录云主机,重启网卡或主动发起DHCP请求。
− Linux系统
执行以下命令:
dhclient eth0
或
ifdown eth0
+
ifup eth0
或
dhcpcd eth0
− windows系统
在网络连接中选择其中一个网络设备,单击鼠标右键,选择“禁用”,再单击“启用”。
步骤 2对于DHCP Client长期不发起请求的情况(例如重启网卡后又复现),可以参照以下操作:
- 配置静态IP:
− windows系统:
i. 在网络连接中选择“属性”。
ii. 在弹出的窗口中选择“Internet协议版本4”,单击“属性”,修改相关配置。
− Linux系统:
i. 登录Linux云主机,执行如下命令,修改配置。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=static
IPADDR=192.168.1.100 #IP地址(修改)
NETMASK=255.255.255.0 #掩码值(修改)
GATEWAY=192.168.1.1 #网关地址(修改)
ii. 重启云主机使网络配置生效。
- 选取有DHCP持续获取能力的镜像。
− Windows系列,原生支持持续获取,例如:Windows Web Server 2008 R2 64bit;Windows Server Datacenter 2008 R2 64bit;Windows Server Enterprise 2008 SP2 64bit;;Windows Server Enterprise 2008 R2 64bit。
− CentOS系列,通过在“/etc/sysconfig/network-scripts/ifcfg-ethX”中添加PERSISTENT_DHCLIENT="y”可全部支持持续获取。
− Ubuntu系列,如Ubuntu1004,Ubuntu1404原生支持持续获取。
步骤 3若以上步骤没有解决问题,可以通过查看客户云主机的messages日志(路径为“/var/log/messages”)排查问题,通过网卡的MAC地址过滤日志,检查是否有客户的进程影响DHCP获取IP。
步骤 4若依然无法解决,请联系客服,寻求技术支持,检查CAN节点。
如何查看、修改Linux弹性云主机的内核参数?
本文总结了常用的Linux内核参数,以及Linux内核参数的查看、修改方法。如果您的业务未受到影响,建议不要执行修改内核参数的操作。如需调整,请确保:
- 从实际需要出发,最好有相关数据的支撑。
- 了解每一个内核参数的含义,不同版本操作系统的内核参数可能不同。常用内核参数说明,请参见表 Linux常用内核参数说明。
- 对弹性云主机中的重要数据进行备份。
背景信息
表 Linux常用内核参数说明
参数 | 说明 |
---|---|
net.core.rmem_default | 默认的 TCP 数据接收窗口大小(字节)。 |
net.core.rmem_max | 最大的 TCP 数据接收窗口(字节)。 |
net.core.wmem_default | 默认的 TCP 数据发送窗口大小(字节)。 |
net.core.wmem_max | 最大的 TCP 数据发送窗口(字节)。 |
net.core.netdev_max_backlog | 在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。 |
net.core.somaxconn | 定义了系统中每一个端口最大的监听队列的长度,这是个全局的参数。 |
net.core.optmem_max | 表示每个套接字所允许的最大缓冲区的大小。 |
net.ipv4.tcp_mem | 确定 TCP 栈应该如何反映内存使用,每个值的单位都是内存页(通常是 4KB)第一个值是内存使用的下限;第二个值是内存压力模式开始对缓冲区使用应用压力的上限;第三个值是内存使用的上限。在这个层次上可以将报文丢弃,从而减少对内存的使用。对于较大的 BDP 可以增大这些值(注意:其单位是内存页而不是字节)。 |
net.ipv4.tcp_rmem | 为自动调优定义 socket 使用的内存。第一个值是为 socket 接收缓冲区分配的最少字节数;第二个值是默认值(该值会被 rmem_default 覆盖),缓冲区在系统负载不重的情况下可以增长到这个值;第三个值是接收缓冲区空间的最大字节数(该值会被 rmem_max 覆盖)。 |
net.ipv4.tcp_wmem | 为自动调优定义 socket 使用的内存。第一个值是为 socket 发送缓冲区分配的最少字节数;第二个值是默认值(该值会被 wmem_default 覆盖),缓冲区在系统负载不重的情况下可以增长到这个值;第三个值是发送缓冲区空间的最大字节数(该值会被 wmem_max 覆盖)。 |
net.ipv4.tcp_keepalive_time | TCP 发送 keepalive 探测消息的间隔时间(秒),用于确认 TCP 连接是否有效。 |
net.ipv4.tcp_keepalive_intvl | 探测消息未获得响应时,重发该消息的间隔时间(秒)。 |
net.ipv4.tcp_keepalive_probes | 在认定 TCP 连接失效之前,最多发送多少个 keepalive 探测消息。 |
net.ipv4.tcp_sack | 启用有选择的应答(1 表示启用),通过有选择地应答乱序接收到的报文来提高性能,让发送者只发送丢失的报文段,(对于广域网通信来说)这个选项应该启用,但是会增加对 CPU 的占用。 |
net.ipv4.tcp_fack | 启用转发应答,可以进行有选择应答(SACK)从而减少拥塞情况的发生,这个选项也应该启用。 |
net.ipv4.tcp_timestamps | TCP 时间戳(会在 TCP 包头增加 12 B),以一种比重发超时更精确的方法(参考 RFC 1323)来启用对 RTT 的计算,为实现更好的性能应该启用这个选项。 |
net.ipv4.tcp_window_scaling | 启用 RFC 1323 定义的 window scaling,要支持超过 64KB 的 TCP 窗口,必须启用该值(1 表示启用),TCP 窗口最大至 1GB,TCP 连接双方都启用时才生效。 |
net.ipv4.tcp_syncookies | 表示是否打开 TCP 同步标签(syncookie),内核必须打开了 CONFIG_SYN_COOKIES 项进行编译,同步标签可以防止一个套接字在有过多试图连接到达时引起过载。默认值 0 表示关闭。 |
net.ipv4.tcp_tw_reuse | 表示是否允许将处于 TIME-WAIT 状态的 socket (TIME-WAIT 的端口)用于新的 TCP 连接。说明该参数在NAT(Network AddressTranslation)场景下不能配置为1,否则将导致云主机远程连接异常。 |
net.ipv4.tcp_tw_recycle | 能够更快地回收 TIME-WAIT 套接字。说明该参数在NAT(Network AddressTranslation)场景下不能配置为1,否则将导致云主机远程连接异常。 |
net.ipv4.tcp_fin_timeout | 对于本端断开的 socket 连接,TCP 保持在 FIN-WAIT-2 状态的时间(秒)。对方可能会断开连接或一直不结束连接或不可预料的进程死亡。 |
net.ipv4.ip_local_port_range | 表示 TCP/UDP 协议允许使用的本地端口号。 |
net.ipv4.tcp_max_syn_backlog | 对于还未获得对方确认的连接请求,可保存在队列中的最大数目。如果服务器经常出现过载,可以尝试增加这个数字。默认为 1024。 |
net.ipv4.tcp_low_latency | 允许 TCP/IP 栈适应在高吞吐量情况下低延时的情况,这个选项应该禁用。 |
net.ipv4.tcp_westwood | 启用发送者端的拥塞控制算法,它可以维护对吞吐量的评估,并试图对带宽的整体利用情况进行优化,对于 WAN 通信来说应该启用这个选项。 |
net.ipv4.tcp_bic | 为快速长距离网络启用 Binary Increase Congestion,这样可以更好地利用以 GB 速度进行操作的链接,对于 WAN 通信应该启用这个选项。 |
net.ipv4.tcp_max_tw_buckets | 该参数设置系统的 TIME_WAIT 的数量,如果超过默认值则会被立即清除。默认为 180000。 |
net.ipv4.tcp_synack_retries | 指明了处于 SYN_RECV 状态时重传 SYN+ACK 包的次数。 |
net.ipv4.tcp_abort_on_overflow | 设置改参数为 1 时,当系统在短时间内收到了大量的请求,而相关的应用程序未能处理时,就会发送 Reset 包直接终止这些链接。建议通过优化应用程序的效率来提高处理能力,而不是简单地 Reset。默认值: 0 |
net.ipv4.route.max_size | 内核所允许的最大路由数目。 |
net.ipv4.ip_forward | 接口间转发报文。 |
net.ipv4.ip_default_ttl | 报文可以经过的最大跳数。 |
net.netfilter.nf_conntrack_tcp_timeout_established | 让 iptables 对于已建立的连接,在设置时间内若没有活动,那么则清除掉。 |
net.netfilter.nf_conntrack_max | 哈希表项最大值。 |
查看内核参数
- 方法一:通过“/proc/sys”目录,使用cat命令查看对应文件的内容。
“/proc/sys/”目录是Linux 内核启动后生成的伪目录,其目录下的net文件夹中存放了当前系统中生效的所有内核参数、目录树结构与参数的完整名称相关,如net.ipv4.tcp_tw_recycle,它对应的文件是 /proc/sys/net/ipv4/tcp_tw_recycle,文件的内容就是参数值。
示例:
以查看net.ipv4.tcp_tw_recycle的值为例,执行以下命令:
cat /proc/sys/net/ipv4/tcp_tw_recycle
- 方法二:通过“/etc/sysctl.conf”文件进行查看。
执行以下命令,查看当前系统中生效的所有参数。
/usr/sbin/sysctl -a
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_tw_buckets = 4096
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_fin_timeout = 30
......
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_rmem = 16384 174760 349520
net.ipv4.tcp_wmem = 16384 131072 262144
net.ipv4.tcp_mem = 262144 524288 1048576
......
修改内核参数
- 方法一:通过“/proc/sys”目录,使用echo命令修改内核参数对应的文件。
该方法修改的参数值仅在当次运行中生效,重启后会重置为原参数值,一般用于临时性验证。如需永久生效,请参考方法二。
“/proc/sys/”目录是Linux 内核启动后生成的伪目录,其目录下的net文件夹中存放了当前系统中生效的所有内核参数、目录树结构与参数的完整名称相关,如net.ipv4.tcp_tw_recycle,它对应的文件是 /proc/sys/net/ipv4/tcp_tw_recycle,文件的内容就是参数值。
示例:
假设将 net.ipv4.tcp_tw_recycle 的值修改为 0,执行以下命令:
echo "0" > /proc/sys/net/ipv4/tcp_tw_recycle
- 方法二:通过“/etc/sysctl.conf”文件进行修改。
该方法修改的参数值,永久生效。
a. 执行以下命令,修改指定的参数值。
/sbin/sysctl -w kernel.domainname="example.com"
示例:
sysctl -w et.ipv4.tcp_tw_recycle="0"
b. 执行以下命令,修改 /etc/sysctl.conf 文件中的参数。
vi /etc/sysctl.conf
c. 执行以下命令,使配置生效。
/sbin/sysctl -p
端口映射配置
问题描述
外网访问“弹性云主机1”的弹性IP和某个端口,可以自动跳转到“弹性云主机2”的弹性IP和某个端口。
Windows操作系统
假定需要通过“弹性云主机1”(192.168.10.43)的8080端口连接“弹性云主机2”(192.168.10.222)的18080端口,则需要在弹性云主机1执行如下操作。
- 请确保云主机的安全组、防火墙已放通对应的端口。
- 请确保已关闭“源/目的检查”。
- 在云主机详情页面,选择“网卡”页签,并展开,将“源/目的检查”选项设置为“OFF”。
默认情况下,“源/目的检查”状态为“启用”,系统会检查弹性云主机发送的报文中源IP地址是否正确,否则不允许弹性云主机发送该报文。这有助于防止伪装报文攻击,提升安全性。但在该场景中,这种保护机制会导致报文的发送者无法接收到返回的报文。因此,需设置“源/目的检查”状态为禁用。
- 打开cmd窗口执行命令。本例以Windows 2012操作系统云主机为例。
netsh interface portproxy add v4tov4 listenaddress=192.168.10.43 listenport=8080 connectaddress=192.168.10.222 connectport=18080
如果想取消上面配置的端口转发,可执行如下命令。
netsh interface portproxy delete v4tov4 listenaddress=192.168.10.43 listenport=8080
- 执行如下命令可查看服务器配置的全部端口映射。
netsh interface portproxy show v4tov4
图 Windows操作系统云主机端口映射
- 打开IP转发功能。
a. 在“运行”输入字母“regedit”打开注册表编辑器。
b. 定位以下注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
c. 选择项目IPEnableRouter,设置值为1
默认为0表示未开启IP转发功能,设置为1表示打开IP转发功能。
d. 在cmd命令窗口执行gpupdate/force更新组策略。
Linux操作系统
以登录为例,登录“弹性云主机1”的1080端口自动跳转访问“弹性云主机2”的22端口。
弹性云主机1的私网IP:192.168.72.10;弹性IP:123.xxx.xxx.456。
弹性云主机2的私网IP:192.168.72.20。
步骤 1登录Linux弹性云主机1。
- 执行如下命令,修改文件。
vi /etc/sysctl.conf
- 在文件中添加
net.ipv4.ip_forward = 1
- 执行如下命令,完成修改。
sysctl -p /etc/sysctl.conf
步骤 2在“iptables”的“nat”表中添加规则,执行如下命令,通过弹性云主机1的1080端口映射到弹性云主机2的22端口。
iptables -t nat -A PREROUTING -d 192.168.72.10 -p tcp --dport 1080 -j DNAT --to-destination 192.168.72.20:22
iptables -t nat -A POSTROUTING -d 192.168.72.20 -p tcp --dport 22 -j SNAT --to 192.168.72.10
步骤 3验证配置是否生效,执行如下命令,登录弹性云主机1的1080端口。
ssh -p 1080 123.xxx.xxx.456
图 Linux操作系统云主机端口映射
输入密码后登录到弹性云主机2,弹性云主机2的主机名为ecs-inner。
图 登录到弹性云主机2
不同账号下弹性云主机内网是否可以互通?
不同账号下的弹性云主机内网是不通的。
我购买的云主机是否在同一子网?
由于您可以自定义网络,所以云主机是否在一个子网,完全由您来控制。