这是 阿丰在长春 的第四篇文章,微信公众号同步。
长春本地的技术公众号,欢迎各种关注。
这一周又过去了,日子过的可真快啊。
这一周好像很忙活,除了日常码点代码外,做了技术选型,画了产品原型,制作了自己的第一幅NTF,剩余花费精力最大的,就是和公司的网络环境做斗争了。
我做了这么多年的开发了,在这里由衷的吐槽一下:
不管在北京还是长春,不管在哪家公司,不管是大中小厂,公司的网络环境都有让人无语,并需要花时间调整的场景。有时候真不知道自己是做开发,还是做网管。
当然吐槽归吐槽,毕竟国内网络环境本来就复杂,再加上各种安全指标,各位网管哥哥姐姐们你们辛苦了。
公司的网到底怎么了
因为公司的开发有涉密内容,所以内网环境一定要安全。我到公司的时候,后端开发自己架设mevan私服,接口测试走内网环境也没问题。
但前端毕竟要链接外网环境做测试,而且项目内依赖的地图,分享等功能也需要外网环境,所以公司给开了一个测试用的外网。而上传代码和相关文档就需要连接内网。
在使用了几天后,我写了一个简短的shell切换无线网络,省了用鼠标点击交互。毕竟每天至少5次以上的切换,重复劳动太多了。
主要使用了networksetup指令:
networksetup -setairportnetwork en0 [wifi名称] [wifi密码]
顺便安利一下networksetup这个指令,在查询系统ip时可以使用:
networksetup -getinfo "Wi-Fi"
比使用ifconfig输出的简单利索多了,毕竟平时我们不需要那么多详细信息。
为了终端方便调用,写了相关的alias,并写入到我的.zshrc文件中(是的,我的终端使用的是zsh,如果你用的是bash或者其他终端,可以自己寻找相应的配置文件)关于alias的介绍:
alias wifi_internet="networksetup -setairportnetwork en0 [外网wifi名称] [wifi密码]"
alias wifi_test="networksetup -setairportnetwork en0 [内网wifi名称] [wifi密码]"
一定要注意这是shell脚本,等号前后不要有空格
这样更换网络只需在终端输入wifi_internet,wifi_test即可。
我做项目的时候就一直开着终端,这样切换网络就方便多了,开发变的舒服起来。
事情逐渐失控起来
事情是这样的,突然之间公司的路由环境中出现了木马。
当机立断,公司停止了本来只能链接内网的无线网络,连接内网需要使用公司配置的台式机插网线才行。
自己写完代码还得copy到安全u盘,然后插入台式机,复制粘贴代码,再同步代码仓库。
我当场暴毙,不死心的ping了整个路由下的IP,确认确实不能链接了。于是求领导通融,最后要来了几个可以链接的静态ip,而且链接后要登录一下安全信息,才能使用wifi连内网。
虽然麻烦多了,好在能在自己笔记本上上传代码,而且之前舒服的环境没有了,只好按照现有逻辑,重新写链接网络的脚本来减少重复性工作。
这里有几个点要说明一下。
链接内网
- 在链接内网时,要先进行链接,成功后再设置静态的ip,所以需要执行2个指令。
- 设置ip至少是admin用户才有的权限,所以需要添加sudo,并且执行时输入本机用户密码。
$ networksetup -setairportnetwork en0 [内网wifi名称] [内网wifi密码]
$ sudo networksetup -setmanual WI-FI [静态ip] [子网掩码,默认255.255.255.0] [网关ip,也就是上级路由地址]
链接外网
- 在需要链接外网时,需要先链接外网,然后再重置ip为动态获取
- 如果不重置DHCP动态获取,你的电脑会用你设置的静态ip和静态网关来连接外网环境
$ networksetup -setairportnetwork en0 [外网wifi名称] [wifi密码]
$ sudo networksetup -setdhcp Wi-Fi
别名简化
好了,剩下的就是配置另一个alias来简化调用方式了。
alias wifi_test="networksetup -setairportnetwork en0 [内网wifi名称] [内网wifi密码] && sudo networksetup -setmanual WI-FI [静态ip] [子网掩码,默认255.255.255.0] [网关ip,也就是上级路由地址]"
alias wifi_internet="networksetup -setairportnetwork en0 [外网wifi名称] [wifi密码] && sudo networksetup -setdhcp Wi-Fi"
中间 && 符号代表着顺序执行
啊,一切又舒服起来~
总结
通过这次经历,掌握了一下网络配置的指令,其实修改的这些配置都写在网络配置文件中,"一切皆文件",真是神奇。
新人不易,欢迎大家强势关注,长春本地技术公众号 - 阿丰在长春━(`∀´)ノ亻!
文章引用如下