Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Configuration 您将如何使用nixpkgs(非守护程序安装,macOS Catalina)为openconnect和vpn片配置派生或覆盖?_Configuration_Macos Catalina_Nix_Tunneling_Openconnect - Fatal编程技术网

Configuration 您将如何使用nixpkgs(非守护程序安装,macOS Catalina)为openconnect和vpn片配置派生或覆盖?

Configuration 您将如何使用nixpkgs(非守护程序安装,macOS Catalina)为openconnect和vpn片配置派生或覆盖?,configuration,macos-catalina,nix,tunneling,openconnect,Configuration,Macos Catalina,Nix,Tunneling,Openconnect,我最近开始使用nix包管理器作为(非守护进程) 我想知道如何配置openconnect,最好是使用vpnc脚本替换,以便轻松安全地进行拆分隧道 我可以看到的默认nix包配置。我假设我想使用类似的东西,比如和/或。(到目前为止,我还不清楚这两者之间的区别,也不清楚何时会使用其中一种。) 尽管如此,我试图找出如何配置nix的步骤自然是: 基本二进制安装(覆盖/覆盖/派生) 配置特定vpn连接 启动(提示输入密码和辅助otp通行证) 停止 理想情况下,集成会很好。e、 例如,我发现一个好的选择是创建一

我最近开始使用nix包管理器作为(非守护进程)

我想知道如何配置openconnect,最好是使用vpnc脚本替换,以便轻松安全地进行拆分隧道

我可以看到的默认nix包配置。我假设我想使用类似的东西,比如和/或。(到目前为止,我还不清楚这两者之间的区别,也不清楚何时会使用其中一种。)

尽管如此,我试图找出如何配置nix的步骤自然是:

  • 基本二进制安装(覆盖/覆盖/派生)
  • 配置特定vpn连接
  • 启动(提示输入密码和辅助otp通行证)
  • 停止

  • 理想情况下,集成会很好。e、 例如,我发现一个好的选择是创建一个

    例如:

    与导入{};
    使用pkgs.python37软件包;
    让
    python=python37;
    openconnect=pkgs.openconnect.overrideAttrs(oldAttrs:rec{
    buildInputs=oldAttrs.buildInputs++[libproxy];
    configureFlags=oldAttrs.configureFlags++[“--带libproxy”];
    });
    vpn slice=buildPythonPackage rec{
    name=“vpn切片”;
    version=“v0.13”;
    src=pkgs.fetchFromGitHub{
    所有者=“德兰斯基”;
    repo=“${name}”;
    rev=“${version}”;
    sha256=“1ibrwal80z27c2mh9hx85idmzilx6cpcmgc15z3lyz57bz0krigb”;
    };
    propagatedBuildInputs=[setproctitle];
    元={
    主页=”https://github.com/dlenski/vpn-slice";
    description=“vpnc脚本替换,用于轻松安全的拆分隧道VPN设置”;
    license=stdenv.lib.licenses.gpl3Plus;
    维护者=有维护者;[dlenski];
    };
    };
    在mkShell中{
    name=“vpn环境”;
    buildInputs=[vpn切片openconnect libproxy];
    壳钩=“”
    echo“准备好切片您的vpn!”
    '';
    }
    
    然后,您可以通过脚本执行openconnect:

    #!/usr/bin/env nix-shell
    #! nix-shell vpn-wrapper.nix -i bash
    
    OPENCONNECT=$(which openconnect)
    VPNSLICE=$(which vpn-slice)
    
    USERNAME=$1
    
    $OPENCONNECT --libproxy --passwd-on-stdin --user=“$USERNAME” -s $VPNSCLICE ...
    
    
    可以找到一个更扩展的示例(wip)