Encryption stunnel-两台Ubuntu机器流量加密

Encryption stunnel-两台Ubuntu机器流量加密,encryption,stunnel,Encryption,Stunnel,我在让Stunnel在Ubuntu 18.04上工作时遇到了一个问题。有很多网站告诉我如何配置它,但我什么都做不到,我想我做错了什么 以下是我所做的步骤: 操作系统:Ubuntu18.04(虚拟机,干净安装) 然后通过以下方式启用自动启动: sudo nano /etc/default/stunnel4 将启用=0切换到启用=1 下一步是通过以下方式创建证书文件: sudo openssl req -new -out config.pem -keyout config.pem -nodes -

我在让Stunnel在Ubuntu 18.04上工作时遇到了一个问题。有很多网站告诉我如何配置它,但我什么都做不到,我想我做错了什么

以下是我所做的步骤:

操作系统:Ubuntu18.04(虚拟机,干净安装)

然后通过以下方式启用自动启动:

sudo nano /etc/default/stunnel4
将启用=0切换到启用=1

下一步是通过以下方式创建证书文件:

sudo openssl req -new -out config.pem -keyout config.pem -nodes -x509 -days 365
认证文件的位置为:/etc/stunnel/

然后创建一个配置文件,下面是我创建的配置文件的副本:

一切就绪,重新启动服务是最后一步

sudo /etc/init.d/stunnel4 restart
这里我得到了以下错误:

[…]重新启动stunnel4(通过systemctl):stunnel4.service的stunnel4.serviceJob失败,因为控制进程已退出,并显示错误代码。 有关详细信息,请参阅“systemctl status stunnel4.service”和“journalctl-xe”。 失败了

(我希望对两台Ubuntu机器之间的通信进行加密)

先谢谢你

  • 在服务器和客户端这两台机器上安装stunnel
  • sudo-apt-get-install-stunnel

    完成apt get后,我们需要通过在客户端和服务器中编辑/etc/default/stunnel4配置文件来启用stunnel

    查找:

    更改为1以启用stunnel自动启动
    ENABLED=0

    替换:

    更改为1以启用stunnel自动启动
    ENABLED=1

    二,。在服务器-->上安装tinyproxy在我的示例中,这只是一个代理服务器,我使用的是自定义代理服务器

    sudo apt get install tinyproxy

    配置tinyproxy

    默认情况下,TinyProxy在所有接口上启动,以侦听与端口8888的连接。因为我们不想让代理向世界开放,所以让我们通过将TinyProxy配置为仅侦听localhost接口来改变这一点。我们可以通过修改/etc/tinyproxy.conf文件中的Listen参数来实现这一点

    查找:

    #听192.168.0.1

    替换为:

    听127.0.0.1

    完成后,我们将需要重新启动TinyProxy服务,以使更改生效。我们可以使用systemctl命令来实现这一点

    server:$sudo systemctl restart tinyproxy

    systemctl完成后,我们可以通过使用netstat命令检查端口8888是否正确绑定来验证更改是否到位

    server: $ netstat -na
    Active Internet connections (servers and established)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State      
    tcp        0      0 127.0.0.1:8888          0.0.0.0:*               LISTEN
    
  • 在服务器上使用openssl创建证书
  • 更简单的方法:

    
                (a). openssl genrsa -out key.pem 2048
    
                (b). openssl req -new -x509 -key key.pem -out cert.pem -days 1095
    
                (c).  cat key.pem cert.pem >> /etc/stunnel/stunnel.pem
    
    
    您可以选择手动执行(c)

    还请记住将证书传输到客户端计算机…因此客户端和服务器都有/etc/stunnel/stunnel.pem

    Stunnel服务器设置

    cert = stunnel.pem
    [tinyproxy]
    accept = 0.0.0.0:3112
    connect = 127.0.0.1:8888
    
    cert = stunnel.pem
    client = yes
    [tinyproxy]
    accept = 127.0.0.1:3112
    connect = 10.0.2.15:3112
    
    Stunnel客户端设置

    cert = stunnel.pem
    [tinyproxy]
    accept = 0.0.0.0:3112
    connect = 127.0.0.1:8888
    
    cert = stunnel.pem
    client = yes
    [tinyproxy]
    accept = 127.0.0.1:3112
    connect = 10.0.2.15:3112
    
    假设您使用安装了ubuntu服务器的virtualbox,您必须进行以下设置

    cert = stunnel.pem
    [tinyproxy]
    accept = 0.0.0.0:3112
    connect = 127.0.0.1:8888
    
    cert = stunnel.pem
    client = yes
    [tinyproxy]
    accept = 127.0.0.1:3112
    connect = 10.0.2.15:3112
    
    设置>>网络中
    将适配器更改为NAT

    然后在
    设置>>网络>>高级>>端口向前
    添加端口向前

    *Name*      *Protocol*  *Host IP*   *Host port*     *Guest IP*   *Guest port*
    stunnel           TCP        0.0.0.0        3112                    3112
    
    完成后重新启动服务

    cert = stunnel.pem
    [tinyproxy]
    accept = 0.0.0.0:3112
    connect = 127.0.0.1:8888
    
    cert = stunnel.pem
    client = yes
    [tinyproxy]
    accept = 127.0.0.1:3112
    connect = 10.0.2.15:3112
    
    客户

    sudo systemctl重启stunnel4.服务

    服务器中

    sudo systemctl重启stunnel4.服务

    sudo systemctl重启tinyproxy

    测试它是否有效

    在终端:

    导出http\u代理=”http://localhost:3112“

    导出https\u代理=”https://localhost:3112

    然后:

    curl——代理不安全-vhttps://www.google.com

    学分:

    欢迎使用SO!您希望“在两台ubuntu机器之间”加密的确切“流量”是什么?您是否尝试过
    请参阅“systemctl status stunnel4.service”和“journalctl-xe”以了解详细信息。
    ?它甚至可能会显示一个错误,指出错误可能存在的方向。