标签 gcp 下的文章

Google Cloud Platform(gcp)谷歌云安装Routeros

一般vps都可以通过dd来安装routeros软路由系统,可以参考青云主机安装routeros,附一键安装routeros脚本
gcp由于特殊的架构设计直接dd routeros的img文件不能正常启动
以下为通过gcp 的storage创建镜像方式安装routeros系统

1,macos系统安装必要工具

brew install wget
brew install truncate
brew install gnu-tar

2,下载routeros chr镜像Raw disk image

wget https://download.mikrotik.com/routeros/6.46.3/chr-6.46.3.img.zip

3,解压镜像文件

unzip chr-6.46.3.img.zip

4,按照gcp创建镜像规则制作镜像文件

4.1,扩展镜像空间,镜像占用大小需要是1G整倍数

truncate -s 1G chr-6.46.3.img

4.2,重命名镜像文件,镜像文件需要以disk.raw命名

mv chr-6.46.3.img disk.raw

4.3,打包镜像,打包文件名需要以.tar.gz结尾

gtar -Sczf chr-6.46.3.tar.gz disk.raw

我已经打包好的镜像,zip解压出gz包后再使用
5,上传到gcp到storage
6,在gcp到compute engine到映像下创建映像
来源选择Cloud Storage 文件中刚上传到chr-6.46.3.tar.gz文件
7,创建instance的时候使用自建映像或者已创建的instance删除原启动磁盘后新建以自建映像创建新磁盘

google cloud platform(gcp)的一个关于网络的坑

gcp这个网络坑是vm网卡的mtu是1460,一般其他vps或云服务的都是1500。

在gcp上使用更换付费账号的方式重新撸了300刀一年,其实在15/16年就用过一年,当时台湾服务器还没被草烂,联通直连能跑满带宽,后来用的人越来越多,很多ip被墙了,到期之后就没再用。

最近发现gcp新放出来一批ip,识别地址是美国,还没有被各大视频网站(Netflix,hbo,hulu等)加入黑名单,所以又撸了一年,先用着。

之前用gcp只是用ss,没有碰到mtu的问题。这次用gcp做落地机出现了问题。
境内路由器隧道到阿里云香港然后隧道到gcp香港,再出去,由于隧道的原因链路最小mtu是1390,小于gcp网卡1460,所以没有问题。

我的苹果设备需要一个ikev2服务器访问美国服务,按之前的一键脚本一路下来很顺利,却打不开谷歌的各种服务,但是ping正常,telnet正常,刚开始以为是dns问题,一键脚本默认是8.8.8.8,服务器是169.254.169.254的内网ip,修改dns服务器地址之后依然不行。然后想到是不是gcp对nat有什么限制,遍历gcp设置,各种查文档,改配置也是一无所获。

ikev2建立连接后,客户端通过telnet发现是可以建立tcp连接的,然后通过curl -v去请求测试,发现curl -v google.com可以收到301状态码,但是curl -v www.google.com卡在tcp建立连接后接收http报文,curl -v https://www.google.com 卡在tls协商,其实从这基本可以确定是mtu问题了,因为卡住之前都是小包碰不到分片或丢包,到接收http报文或者tls协商都是大包,超过mtu都是要分片或丢包,由于关于mtu的问题很久没有遇到了,一时没想起来。

惆怅迷惑之际拿起了wireshark抓包,curl -v www.google.com后,wireshark出现“tcp previous segment not captured”,终于意识到大包被丢包了,可能是mtu问题。ifconfig发现imac的ipsec0接口mtu是1400,sudo ifconfig ipsec0 mtu 1200 up,问题解决。但是不能每个客户端都修改mtu,ios怎么修改mtu?

查询文档,谷歌建议vm网卡使用1460,说是全球链路中最大1460,先不管了修改vm网卡为1500,vm只作中转不从vm直接上传什么应该问题不大。

gcp关于strongswan的文档根本没有提到mtu问题。