windows2003
IP在前面的就是出口
windows2008/2012
默认是ip小的优先
如果要指定出口,设置方法:
1. netsh interface ipv4 show ipaddresses level=verbose 查看ip设置情况
2. 手工删除不需要设置出口的ip
3. netsh int ipv4 add address “以太网 5” 61.139.126.25/26 skipassource=true 将删除的ip添加上去
测试:
netsh interface ipv4 show ipaddresses level=verbose查看情况如下
地址 61.139.126.25 参数
———————————————————
接口 Luid : 以太网 5
作用域 ID : 0.0
有效生存时间 : infinite
首选生存时间 : infinite
DAD 状态 : 首选项
地址类型 : 手动
跳过作为源 : true
地址 61.139.126.42 参数
———————————————————
接口 Luid : 以太网 5
作用域 ID : 0.0
有效生存时间 : infinite
首选生存时间 : infinite
DAD 状态 : 首选项
地址类型 : 手动
跳过作为源 : false
route print
IPv4 路由表
===========================================================================
活动路由:
网络目标 网络掩码 网关 接口 跃点数
0.0.0.0 0.0.0.0 61.139.126.1 61.139.126.42 266
powershell脚本:
以下代码保存为route.ps1,然后就可以直接执行了。
$WAN=Get-NetRoute -DestinationPrefix “0.0.0.0/0” | Select-Object -ExpandProperty “ifIndex”
$ips=Get-NetIPAddress -AddressFamily IPv4 -InterfaceIndex $WAN | Select-Object -ExpandProperty “IPAddress”
$ipid=0
echo $ips
echo “请输入出口ip序号(1,2,..):”
$s = Read-Host
foreach($ip in $ips)
{
$ipid=$ipid+1
if($s -eq 0)
{
Set-NetIPAddress -IPAddress $ip -SkipAsSource $false
}elseif($ipid -eq $s)
{
Set-NetIPAddress -IPAddress $ip -SkipAsSource $false
} else {
Set-NetIPAddress -IPAddress $ip -SkipAsSource $true
}
}
get-netipaddress -AddressFamily IPv4 -InterfaceIndex $WAN| select ipaddress, skipassource
Linux:
ps:linux下删除默认路由,手工指定出口设备
查看出口IP,直接在服务器上运行:
curl ip.mydns.vip|grep getip|awk -F '\>' '{print $3}'|awk -F '\<' '{print $1}'
查看默认路由:ip route show
route del default gw 192.168.1.1 (针对复制了多个网卡的情况,使用指定的设备为出口设备)
route add default gw 192.168.1.1 dev eht0:1
route add default gw 211.149.239.1 dev eth0:1
删除
route del default gw 211.149.239.1 dev eth0:1
=============================
直接修改原出口Ip
ip route change default via 211.149.239.1 dev eth0:1 src 211.149.239.197 (src为出口的IP地址)
============================
修改出口IP(同一个网卡上绑定了多个IP):
ip route change default via 211.149.229.1 dev eth0 src 211.149.229.143 (同一个网卡上绑定了多个IP)