目的:   实现家中nas,在任何环境ssh访问

方案:n2n v1 (原因稳定&兼容macbook)

开源地址: https://svn.ntop.org/svn/ntop/trunk/n2n

设备:

  • gen8 debain系统(家中nas)
  • 阿里云ecs主机,提供外网服务实现内网穿透握手(外网及nginx http转发)
  • macbook 工作电脑

首先,登录云主机,安装n2n

yum install subversion gcc-c++ openssl-devel
svn co https://svn.ntop.org/svn/ntop/trunk/n2n
cd n2n/n2n_v1/
make && make install

---super节点服务起来---
vim /etc/sysconfig/iptables
*filter下配置
-A INPUT -p tcp -m tcp --dport 5000 -j ACCEPT

#配置开机启动,配置在/etc/rc.local里 可以开机启动执行,确保不受重启丢失

vi /etc/rc.local +
supernode -l 5000 -v >/dev/null &

-------------

gen8 安装n2n 执行配置

edge -d n2n1 -c 自定义的内网组名 -k 自定义密钥 -a 111.0.0.4 -l 云主机外网ip:5000 &

mac本
sudo edge -d n2n1 -c 自定义的内网组名 -k 自定义密钥 -a 111.0.1.3 -l 云主机外网ip:5000 -M 1300 -v &

以上配置完成,可以在mac上愉快的通过ssh root@111.0.0.4 访问gen8,也可以在ecs主机上配置nginx转发gen8上的对外服务,比如wiki之类的(前提ecs也加入节点)

如果无法访问,请确定ecs网络模式是否经典模式

------mac编译n2n------------------
重点
brew install cmake
cmake ./
make
 解决Mac OS X 10.11 El Capitan 上 openssl/aes.h file not found 的问题
 从官方SVN里面co下代码,在OS X下编译n2n_v1还是n2n_v2,进入到相应的目录
cp -R /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift-migrator/sdk/MacOSX.sdk/usr/include/openssl /usr/local/include/
 
方案:编辑tuntap_osx.c这个文件
1 注释掉void tun_close(tuntap_dev *device);这行代码。
2 将tun_close(device);这段代码更换为tuntap_close(device);
 
 

n2n网络环境搭建的更多相关文章

  1. Hyperledger Fabric1.4 网络环境搭建步骤

    1.  外部访问虚拟机: 安装ssh apt-get install openssh-server openssh-client 2.  安装vim sudo apt install vim 3.  ...

  2. openstack(liberty):部署实验平台(一,基础网络环境搭建)

    openstack项目的研究,到今天,算是要进入真实环境了,要部署实验平台了.不再用devstack了.也就是说,要独立controller,compute,storage和network了.要做这个 ...

  3. Windows Server 2008在网络环境配置打印机

    下面学习在Windows Server2008在网络环境搭建打印机服务器,打印机服务器也是很常用的,特别是在中大型企业里面,打印机数量比较多为方便管理,可以搭建一个打印机服务,这里介绍一下,本地打印机 ...

  4. Linux巩固记录(1) J2EE开发环境搭建及网络配置

    由于要近期使用hadoop等进行相关任务执行,操作linux时候就多了 以前只在linux上配置J2EE项目执行环境,无非配置下jdk,部署tomcat,再通过docker或者jenkins自动部署上 ...

  5. unix网络编程环境搭建

    unix网络编程环境搭建 网络编程 环境 1.点击下载源代码 可以通过下列官网中的源代码目录下载最新代码: http://www.unpbook.com/src.html 2.解压文件 tar -xz ...

  6. 【UNIX网络编程第三版】阅读笔记(一):代码环境搭建

    粗略的阅读过<TCP/IP详解>和<计算机网络(第五版)>后,开始啃这本<UNIX网络编程卷一:套接字联网API>,目前linux下的编程不算太了解,在阅读的过程中 ...

  7. 《UNIX网络编程 卷1》之"学习环境搭建"(CentOS 7)

    <UNIX网络编程 卷1>的源码可以从www.unpbook.com下载得到.解压之后的目录为unpv13e. 详细步骤 编译 进入unpv13e目录,按如下步骤编译: ./configu ...

  8. OpenDaylight虚拟租户网络(VTN)详解及开发环境搭建

    一.VTN简介及架构分析:   具体详见开发人员指南wiki:https://wiki.opendaylight.org/view/Release/Lithium/VTN/developer_Guid ...

  9. Unix网络编程之环境搭建

    环境搭建 在尝试UNP书上的样例时,会由于找不到"unp.h"等问题无法编译成功.因此在学习之前须要先搭建好编译环境. 步骤 <1>下载  UNIX网络编程源码unpv ...

随机推荐

  1. 201772020113 李清华《面向对象程序设计(java)》第17周学习总结

    1.实验目的与要求 (1) 掌握线程同步的概念及实现技术: (2) 线程综合编程练习 2.实验内容和步骤 实验1:测试程序并进行代码注释. 测试程序1: l  在Elipse环境下调试教材651页程序 ...

  2. 使用spring-session共享springmvc项目的session

    一.说在前面 spring mvc项目,使用nginx,tomcat部署. 之前没做session共享,而nginx采用sticky模块进行分发. 但发现有时不能正确地指向同一台服务器,从而导致ses ...

  3. laravel5.6中Session store not set on request问题如何解决

    先找到文件app下的Kernel.php文件,在文件中加入下列代码 protected $middleware = [ \Illuminate\Foundation\Http\Middleware\C ...

  4. java过滤emoji表情

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class test { /** * 表情过滤 * */ ...

  5. anujs1.4.0发布

    经过三个月的埋头苦干,终于完成Fiber版的anujs. 主要特性有: 测试全部改成jest, 迁移官方测试用例.有许多迷你React吹得怎么天花乱坠,但是生命周期钩子的执行顺序无法与官方保持一致,那 ...

  6. 【18/12/31】hashcat源码粗读 --- sha256部分

    还没有详细研究过sha256算法的详细原理,主要是移植cf10算法时,hashcat在cf10_parse_hash时并不是直接调用sha256_update和sha256_final, 而是为了pr ...

  7. install linux on VM

    1. install完成之后,没有UI,可以在安装的向导过程中配置,先点击language,选择英语,然后再software那里 勾选,server with gui->KDE, 一定要在看到的 ...

  8. 移动端ios下H5的:active样式失效的解决方法

    在body上绑定一个touchstart事件,空函数就行: document.body.addEventListener('touchstart', function(){}, false) 或者在b ...

  9. ArcGIS 要素类平移工具-arcgis案例实习教程

    ArcGIS 要素类平移工具-arcgis案例实习教程 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 目的:对整个要素类,按指定偏移距离,进行整体平移. 优点:使用 ...

  10. 安卓出现错误: java.lang.ClassCastException: android.widget.TextView cannot be cast to android.widget.EditText

    Caused by: Java.lang.ClassCastException: Android.widget.TextView cannot be cast to android.widget.Ed ...