对于经常移动办公的童鞋,网络环境也随之改变,开发过程中部署的本地环境也需要重新配置IP地址等,或者虚拟机(使用桥接方式,桥接好处在于局域网内其它电脑方便访问,虚拟机系统访问外网不需要额外配置)时系统IP改变。我在这样的环境下痛苦针扎了一段时间,决定在本机组建一个私有网络不随连接Internet网络的改变而变动。
先说说我的想法:在电脑上模拟新的一张网卡,用此网卡组建一个网络,此网卡IP使用静态配置。如果想在同一局域网中共享该私有网络要使用dnsmasq,只是本机使用可以不使用dnsmasq。我使用的Mac电脑,由于mac不支持创建虚拟网卡,我只能使用虚拟IP来实现。
环境
Mac: 宿主机 (通常使用wifi的网卡)
CentOS7 1: 虚拟机(VMware Fusion) (双网卡 桥接模式)
CentOS7 2: 虚拟机(VMware Fusion) (双网卡 桥接模式)
CentOS7 3: 虚拟机(VMware Fusion) (双网卡 桥接模式)
配置宿主机网络
由于Mac不支持创建虚拟网卡,使用虚拟IP。给en0网卡添加虚拟IP
1 | sudo ifconfig en0 alias 10.0.100.1 |
linux系统命令:
1 | ifconfig eth0:1 10.0.100.2 netmask 255.255.255.0 |
配置虚拟机网络
1 | cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1 |
配置eth1网卡 vi /etc/sysconfig/network-scripts/ifcfg-eth1
(uuid使用uuidgen命令生成)
1 | TYPE=Ethernet |
其他虚拟机的IP10.0.100.3
10.0.100.4
测试网络
宿主机: ping 10.0.100.2
虚拟机: ping 10.0.100.1
安装dnsmasq
1 | brew install dnsmasq |
配置 vim /usr/local/etc/dnsmasq.conf
1 | strict-order |
添加/usr/local/etc/dnsmasq.d/k8s.conf
1 | address=/k8s-master.lan/10.0.100.2 |
启动:
1 | sudo brew services start dnsmasq |
开机启动
1 | sudo launchctl start homebrew.mxcl.dnsmasq |
清除DNS缓存
1 | sudo killall -HUP mDNSResponder |
如果使用该dns服务,修改dns
vi /etc/rsyslog.conf
1 | nameserver 10.0.100.1 |
测试
宿主机中修改/etc/rsyslog.confping k8s-master.lan