我的设置与您相同:
Cable modem -> Router (192.168.1.1) +-> Raspberry Pi (192.168.1.11)
|-> iPad (DHCP)
|-> PC (DHCP)
`-> AppleTV (DHCP)
首先,我/etc/network/interfaces
将RPi上的网络设置()更改为静态地址
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
接下来,您必须设置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。
资料来源: