近几天帮女朋友搭建一个Tamarin工具,遇到了很多问题,在debug的过程中也学到了不少,这里简单记录一下遇到了哪些问题以及相应的解决方法
下载并安装Tamarin
首先下载过程中就遇到一系列问题,女朋友电脑是装的ubuntu16.04,并且tamarin要求用homebrew下载,brew也需要换源,而且换源方式跟apt和pip还不太一样。另外brew在下载到其中一个包是总是报错链接github443错误,在网上查了很多资料都没有用,后来尝试性的在主机安装了clash,并设置虚拟机端口转发,让虚拟机也能走主机代理,再次brew install
竟然可以了。
安装过程中报错,看了下错误日志怀疑是gcc的问题,由于gcc真的是牵一发动全身,在得知要安装的tamarin与ubuntu版本关联不大后,遂决定抛弃16.04安装更加稳定的20.04版本,经历过漫长的下载,安装,换源后,重新安装tamarin,发现直接安装成功。
对应参考博文:
1.homebrew安装、换源
2.解决Ubuntu 20.04无法与主机复制粘贴问题
3.too many open files(打开的文件过多)解决方法
使用Tamarin
/etc/profile
文件添加了环境变量,后面重启后发现一直循环登录,后面发现这个文件不能随便改动。将tamarin的交互页面映射到主机,以方便查看
127.0.0.1:x
即可,但是试验不成功,有尝试过关闭主机or虚拟机防火墙、更改nat为桥接模式…后来在自己的电脑的vm中起了一个django服务,发现也遇到同样的问题,但是ssh服务竟然可以访问,这就说明不是网络的问题是项目本身的问题,下载了 apache2
并启动,发现主机可以直接访问(apache2
默认启动在80端口),并发现django可以把服务设为 0.0.0.0:8000
端口以便让外网访问,进一步验证了这个结论。然而Tamarin提供的只是个交互页面,不能像django这种网络服务让外网访问,后面经过搜索发现ssh工具有一个正向代理的功能,可以把服务端某端口的服务转发到主机端从而让主机端访问 ssh -L [port]:localhost:[port] user@ip
,这样就可以在本地访问虚拟机的交互页面了,像jupter这种工具也可以通过这种方式操作。