1. 环境准备与基础概念刚接触CISP-PTE学习环境的朋友们经常会遇到靶机网络配置这个拦路虎。我自己最初搭建CentOS靶机时花了整整一个下午才搞明白为什么Kali攻击机死活ping不通靶机。其实核心问题往往出在静态IP配置这个环节。我们先来理清几个关键概念静态IP就像是给你的设备分配一个固定门牌号而动态IPDHCP则是临时租用的酒店房间。在渗透测试环境中使用静态IP能确保每次启动靶机时网络配置不会变动这对后续的漏洞复现和工具使用至关重要。在开始配置前你需要确认以下信息你的Kali攻击机当前使用的网络模式推荐NAT模式Kali系统的IP地址、子网掩码和默认网关CentOS靶机的网卡名称通常是eth0或ens33建议先打开Kali终端输入ifconfig或ip a查看网络配置。比如我的Kali显示eth0: flags4163UP,BROADCAST,RUNNING,MULTICAST mtu 1500 inet 192.168.23.129 netmask 255.255.255.0 broadcast 192.168.23.255 inet6 fe80::20c:29ff:fe3e:5a1a prefixlen 64 scopeid 0x20link这里192.168.23.129就是我们需要记下的关键信息待会儿配置CentOS靶机时要用到同网段的IP。2. 靶机网络配置详解2.1 修改网络配置文件CentOS 6.x和7.x的配置文件路径略有不同。对于常见的CentOS 6靶机我们需要编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件。用vim打开时可能会遇到只读提示记得先su切换到root权限vi /etc/sysconfig/network-scripts/ifcfg-eth0关键参数修改示范对照你的Kali网络参数DEVICEeth0 TYPEEthernet ONBOOTyes NM_CONTROLLEDno BOOTPROTOstatic # 重点修改为static IPADDR192.168.23.130 # 设置为Kali同网段未占用的IP NETMASK255.255.255.0 # 子网掩码与Kali一致 GATEWAY192.168.23.2 # 通常网关是.1或.2 DNS18.8.8.8这里有个容易踩的坑某些VMware环境会默认把网关设为.2而不是常见的.1。我上次就因为这个配置错误导致外网能通但靶机连不上Kali。2.2 服务重启与配置验证修改保存后需要重启网络服务使配置生效。CentOS 6和7的命令也不同# CentOS 6 service network restart # CentOS 7 systemctl restart network验证配置是否成功的三板斧ifconfig查看IP是否按预期配置ping 网关地址测试内网连通性ping 8.8.8.8测试外网连接如果发现ping不通网关建议按这个顺序排查检查虚拟机网络模式是否为NAT确认防火墙是否关闭service iptables stop查看VMware虚拟网络编辑器中的NAT设置3. 网络连通性深度调试3.1 多维度网络测试光能ping通还不够渗透测试对网络有更高要求。我们需要测试以下几个关键点端口连通性测试# 在Kali上执行 telnet 192.168.23.130 22如果能看到SSH横幅信息说明基础网络层没问题。双向通信验证 在靶机上启动一个简易HTTP服务python -m SimpleHTTPServer 8000然后在Kali用curl访问curl http://192.168.23.130:8000路由跟踪测试traceroute 192.168.23.1303.2 常见故障排除指南根据我处理过上百个靶机环境的经验90%的网络问题集中在以下几个方面症状1能ping通IP但无法访问服务检查靶机防火墙规则iptables -L -n确认服务是否监听正确接口netstat -tulnp症状2间歇性连接中断可能是IP冲突换一个IP试试检查虚拟机网络适配器是否设置为已连接症状3完全无法ping通确认两台虚拟机在同一虚拟网络比如都是VMnet8尝试禁用再启用网卡ifdown eth0 ifup eth04. 高级配置与优化建议4.1 多网卡环境配置有些复杂靶场环境需要配置多网卡。这时需要特别注意路由表的配置。比如添加第二块网卡后# 查看新增网卡名称 ip link show # 编辑第二个网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-eth1关键点是设置不同的路由metric值DEVICEeth1 ... DEFROUTEno # 不要设为默认路由 METRIC100 # 主网卡设为50次要网卡设更大值4.2 持久化配置技巧为了防止配置丢失建议备份原始网络配置文件cp /etc/sysconfig/network-scripts/ifcfg-eth0 ~/ifcfg-eth0.bak设置开机自检脚本echo ping -c 1 192.168.23.1 || service network restart /etc/rc.local使用NetworkManager的connection持久化功能CentOS 7nmcli con mod eth0 connection.autoconnect yes4.3 性能调优参数对于高频渗透测试场景可以优化以下内核参数# 增加TCP缓冲区大小 echo net.ipv4.tcp_mem 94500000 915000000 927000000 /etc/sysctl.conf echo net.ipv4.tcp_window_scaling 1 /etc/sysctl.conf # 禁用IPv6减少干扰 echo net.ipv6.conf.all.disable_ipv6 1 /etc/sysctl.conf sysctl -p这些配置在模拟大规模网络攻击时特别有用能显著提升网络吞吐量。