内容纲要

清空所有arp绑定数据

& {Get-VM -ComputerName localhost | Get-VMNetworkAdapterAcl | Remove-VMNetworkAdapterAcl;}

  • 节点执行这条命令后都会清除所有云服务器的mac和IP绑定,不需要传参数

在受控绑定mac地址(不会返回)

& {$VMnames=get-vm | select Name;foreach ($VMname in $VMnames){$NetInfos=Get-VMNetworkAdapter -VMname $VMname.Name | select Name,macaddress;foreach ($NetInfo in $NetInfos){if ( $NetInfo.macaddress -ne '000000000000'){$NetInfo.Name;$NetInfo.macaddress.Insert(2,'-').Insert(5,'-').Insert(8,'-').Insert(11,'-').Insert(14,'-');Add-VMNetworkAdapterAcl -VMName $VMname.Name -LocalMACAddress $NetInfo.macaddress.Insert(2,'-').Insert(5,'-').Insert(8,'-').Insert(11,'-').Insert(14,'-') -Direction Both -Action Allow;Add-VMNetworkAdapterAcl -VMName $VMname.Name -LocalMACAddress '00-00-00-00-00-00' -Direction Both -Action Allow;Add-VMNetworkAdapterAcl -VMName $VMname.Name -LocalMACAddress 'FF-FF-FF-FF-FF-FF' -Direction Both -Action Allow;Add-VMNetworkAdapterAcl -VMName $VMname.Name -LocalMACAddress ANY -Direction Both -Action DENY;}}};}

  • 节点自动根据云服务器名查找mac地址绑定,不需要传参数

arp绑定

& {Add-VMNetworkAdapterAcl -VMName "VPSname" -LocalIPAddress ANY -Direction Both -Action DENY -VMNetworkAdapterName "myNetCard2";Add-VMNetworkAdapterAcl -VMName "VPSname" -LocalIPAddress 43.228.79.17 -Direction Both -Action Allow -VMNetworkAdapterName "myNetCard2"; ;}

  • -vmname "VPSname" //云服务器名,String[]

  • -VMNetworkAdapterName "网络适配器" //云服务器网卡名称,如果有多个网卡需要添加多个

  • -LocalIPAddress 43.228.79.17 //云服务器IP地址,如果有多个IP需要加多个,注意对应网卡和IP

检查服务器arp绑定情况(也可以用来查看IP、MAC绑定)

& {Get-VMNetworkAdapterAcl -vmname "VPSname" -VMNetworkAdapterName "myNetCard2";Get-VMNetworkAdapter -vmname "VPSname" | select Name,macaddress;}

ARP绑定应该考虑的问题

  1. 批量开启前应该获取当前用户使用的网卡名称并修改,防止老客户有多个网卡重名

  2. 新装节点可以设置默认打开这个功能

  3. 所有服务器IP、MAC、对应网卡名称都应该入库

  4. 为防止用户莫名其妙出现网络不通情况,应该设置按钮检查arp绑定状态