我想让我的几台机器通过VPN连接访问互联网。我的想法是PI可以简单地拨入建立连接,然后通过它建立路由来自其他计算机的请求。

我认为将设备的默认路由器设置为IP的IP。 PI。

以某种方式对多种事物进行命令行配置时,请问一下我需要哪些软件包/服务的说明?

安装摘要:


PI通过默认路由器直接连接到互联网
PI创建VPN连接(OpenVPN),并在其本地接口上侦听流量。在发生故障时建立连接
其他网络设备将默认网关设置为PI的IP,并且所有流量都通过VPN传输(前提是已建立)(如果VPN断开则没有Internet连接)。

我不需要NAT或DHCP服务(DNS也可以通过VPN)。

评论

重点是什么?如果您在本地网络上使用Pi来创建出站连接,为什么不使用其他计算机直接创建类似的出站连接,从而节省了Pi的成本以及软件安装和设置的麻烦呢?传统的VPN设置是您本地网络上的计算机,它侦听入站连接并检查密码,然后让远程计算机直接使用您的本地网络,反之亦然。

@lenik的要点是,我有许多使用相同VPN连接的机器。另外,配置一台计算机比保持更改多台计算机的配置以确保重拨等要容易得多。而且您是正确的-这不是标准设置,如果是的话,我可能会查找教程并且不会询问

更不用说使用其他设备进行路由使确保所有流量通过VPN变得更加简单

某些设备也无法连接到VPN。这些设备包括许多游戏机以及其他不运行可轻松配置为连接到VPN的标准操作系统的设备。

@lenik此设置在企业级网络设备中很常见。它是内置路由器,价格从300美元左右起。 OP正在寻找价格约十分之一的解决方案...我也是。

#1 楼

我的设置与您相同:

Cable modem -> Router (192.168.1.1) +-> Raspberry Pi (192.168.1.11)
                                    |-> iPad (DHCP)
                                    |-> PC (DHCP)
                                    `-> AppleTV (DHCP)


首先,我将RPi上的网络设置(/etc/network/interfaces)更改为静态地址

iface eth0 inet static
address 192.168.1.11
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1


之后,您需要在RPi上设置OpenVPN:

sudo apt-get install openvpn


接下来,您必须为RPi设置配置文件。 vpn /etc/openvpn/server.conf。我使用了我的VPN服务(Witopia)提供的示例,将dev tun更改为dev tun0,并在末尾添加了redirect-gateway

下一步,修改iptables以允许NAT

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


要使其永久保存,请像这样保存它

sudo bash
iptables-save > /etc/iptables.up.rules
nano /etc/network/if-pre-up.d/iptables


将其添加到新文件中:

#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules


保存并使其可执行chmod +x /etc/network/if-pre-up.d/iptables。现在,您需要通过编辑/etc/sysctl.conf启用IP转发,并取消注释net.ipv4.ip_forward = 1

重新启动,并且RPi应该已连接到您的VPN并准备接收传入的流量。我在路由器(运行OpenWrt)上的dhcp服务中添加了一个新选项,以指定发送到客户端的网关。我将list 'dhcp_option' '3,192.168.1.11'行添加到文件/etc/config/dhcp中,并重新启动了路由器。我的iPad,PC和AppleTV现在通过RPi连接以访问外部URL。

来源:


使用Raspberry Pi进行地理欺骗路由器
OpenWRT Wiki


评论


我上周末刚刚完成了类似的设置。我还必须将“ net.ipv4.tcp_ecn = 0”添加到/etc/sysctl.conf文件中。不知道它做什么,但是如果没有它,网关将无法正常工作。

– Kibbee
13年5月23日在1:07



这对我有用,但有一个修改:NAT规则应为iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

–雷根·沃尔什(Regan Walsh)
14年8月19日在13:09

我必须安装DNS服务器才能使Strongswan工作。我遵循了elektronik-kompendium.de/sites/raspberry-pi/2002171.htm上的指南。

– koppor
20 Mar 17 '20 at 20:10

#2 楼

目前仅适用于PPTP(即将提供OpenVPN支持)-签出我的Raspberry Pi项目DSVR(特定于域的VPN路由器)。 / 05 / selective-vpn-routing-solution-dsvr /

GIThub-https://github.com/dboyd13/DSVR

#3 楼

请尝试

https://help.ubuntu.com/community/OpenVPN


Raspbian应该与Ubuntu足够接近,以使设置相同,而我刚刚检查了Raspbian存储库中是否提供OpenVPN软件包。

但是,请注意,大多数VPN指令都会告诉您如何创建用于打开Internet上的VPN客户端到LAN客户端的服务器,反之亦然,因此,您可能需要尝试一些路由设置。

评论


谢谢,那一点我理解得更好了-我不确定如何使PI侦听连接并通过VPN转发它们?

–彼得
13年5月18日在22:34

@petr您只需要运行sysctl -w net.ipv4.ip_forward = 1,并让其他计算机将RPI用作其默认网关,并且RPI会愉快地路由。

–不
13年5月23日在17:43

#4 楼

不知道这是否有用,但是当我离开美国到中国时,我正在vpn提供商的Raspberry Pi上使用VPN,他们安装了dd-wrt脚本,并且从第一次开始就可以使用。因此,如果您正在寻找具有dd-wrt脚本的提供程序,可能会为您省去很多麻烦。如果有人对脚本感到好奇,可以在此处发布。

#5 楼

我为Raspberry Pi创建了OpenVPN网关映像。
希望它有用:)

http://techfunbln.blogspot.de/2013/09/raspberry-pi-as-openvpn-gateway -with-or.html

最诚挚的问候
保罗

#6 楼

这是我的设置,与您的需求非常相似;您唯一需要的就是安装OpenVPN客户端,并在Raspbian上进行一些配置。使用Raspberry PI设置VPN网关

评论


你好,欢迎光临!现在,我不认为这个问题“您能指出我所需的软件包/服务的指示吗?您能指出我所需的软件包/服务的指示吗?”在答案中解决。您能否在不要求人们跟随链接的情况下进行详细说明(实际上只是数字)?

–加纳马♦
15年1月15日在7:26

@Ghanima,感谢您的评论。我已更改我的答复。

–afelaho
15年1月16日在20:26