hyper-v设置静态ip
创建NAT网络
用管理员权限运行powershell,下面命令会创建一个NAT内部网络,网段为192.168.204.0/24,可以在网络适配器可以找到新建的NAT-Docker网络适配器
1 2 3 4 5 6 7 8
| New-VMSwitch –SwitchName "NAT-Docker" –SwitchType Internal –Verbose
Get-NetAdapter
New-NetIPAddress –IPAddress 192.168.204.1 -PrefixLength 24 -InterfaceIndex 37 –Verbose
New-NetNat –Name NATNetwork –InternalIPInterfaceAddressPrefix 192.168.204.0/24 –Verbose
|
配置NAT网络
在新建的网络适配器NAT-Docker设置固定ip为192.168.204.1,dns记得也要设置202.96.128.86根据自己实际情况设置dns
在hyper-v虚拟机里切换centos使用该网络
centos配置静态ip
在centos修改网络配置文件vim /etc/sysconfig/network-scripts/ifcfg-eth0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no"
BOOTPROTO="static" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="eth0" UUID="d49f62d7-9c2a-4f6f-8077-605d0dd65eea" DEVICE="eth0" ONBOOT="yes"
NM_CONTROLLED="no" IPADDR="192.168.204.181" NETMASK="255.255.255.0" GATEWAY="192.168.204.1" BROADCAST="192.168.204.255" DNS1="8.8.8.8"
|
执行service network restart重启网络
端口映射(需管理员权限)

1 2 3 4 5 6 7 8 9 10
| netsh interface portproxy show v4tov4
netsh interface portproxy add v4tov4 listenport=外网端口 listenaddress=主IP connectaddress=私网IP connectport=私网IP端口
netsh interface portproxy add v4tov4 listenport=14014 listenaddress=192.168.1.158 connectaddress=192.168.204.182 connectport=14014
netsh interface portproxy delete v4tov4 listenaddress=主IP listenport=外网端口
netsh interface portproxy delete v4tov4 listenaddress=192.168.1.158 listenport=14014
|

参考Hyper-V 共享式网络链接 端口映射
双网卡
设置/etc/sysconfig/network,决定走那个网关和网卡
1 2
| GATEWAY=10.2.2.1 GATEWAYDEV=em3
|
在网卡配置文件里面只有一个网卡设置网关,内网的不要设置
问题
端口偶发性映射失效,重启失效
解决:目前删除重新添加,也可以添加个脚本,待寻找更好的方法
参考:
netsh interface portproxy 偶发性失效
netsh portproxy not working after reboot
网络配置实现,使用ip a s查看可以一个网卡下有两个ip
原因:存在相同名字的网卡配置文件,但后缀不一样,主要是由于备份原来文件导致的,例如.back等,
解决:千万不要在当前目录进行备份,且不要用后缀模式
设置静态网络时,出现双ip问题
原因:未知
解决:在网络配置文件添加NM_CONTROLLED=no然后重启