Softether vpn ufw防火墙configuration – 是否正确?

我已经正确安装和configurationSoftether在我的Ubuntu 14 x64 VPS在本地桥模式与虚拟TAP接口。

我现在所拥有的是一个全function的L2TP / IPSEC服务器,它有两个networking接口,我希望使用ufw来进一步保证安全。

在search了互联网之后,我按照下面的方法入侵了一个解决scheme,但是我不确定它是多么的安全/正确,希望这里有人能指引我朝着正确的方向前进。

从我的(缩写) ifconfig

 eth0 Link encap:Ethernet HWaddr XX inet addr:XXX.XXX.XXX.XXX Bcast:XXX.XXX.XXX.255 Mask:255.255.255.0 inet6 addr: XX Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 tap_soft Link encap:Ethernet HWaddr XX inet addr:192.168.7.1 Bcast:192.168.7.255 Mask:255.255.255.0 inet6 addr: XX Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 

1 – 在/etc/ufw/before.rules我在*filter行之前插入了一个POSTROUTING规则:

 # Rules for NAT Table of iptables *nat :POSTROUTING ACCEPT [0:0] # Forward traffic from Softether through eth0. -A POSTROUTING -s 192.168.7.0/24 -o eth0 -j MASQUERADE # tell ufw to process the lines COMMIT 

2 – 在/etc/default/ufw我启用转发并设置DEFAULT_FORWARD_POLICY="ACCEPT"

3 – 将net.ipv4.ip_forward = 1加载到/etc/sysctl.conf – 然后重新加载sysctl。

4 – 因为我在本地桥接模式下运行, tap_soft需要一个DHCP服务器。
所以我的dnsmasq.conf文件如下所示:

 interface=tap_soft dhcp-range=tap_soft,192.168.7.50,192.168.7.60,12h dhcp-option=tap_soft,3,192.168.7.1 

5ufw详细状态:

 Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), allow (routed) To Action From -- ------ ---- 67 on tap_soft ALLOW IN Anywhere 53 on tap_soft ALLOW IN Anywhere 1701 ALLOW IN Anywhere 4500/udp ALLOW IN Anywhere 500/udp ALLOW IN Anywhere 

上述步骤意味着我有一个防火墙function齐全的VPN服务器 – 但是我的防火墙configuration仍然安全/正确/build议?

我发现正确工作的唯一方法是
iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -j SNAT --to-source MYPUBLICIPADDRESS ,只能打开ufw端口6753
不熟悉iptables ,我不是100%确定这是做什么或为什么它的作品。

使用SoftEther创build一个L2桥接到这样的TAP接口本质上是一个SecureNATconfiguration。 SoftEther可以做你想要的,没有dnsmasq或ufw。

恢复当前的configuration,并尝试这个:

  1. 创build一个名为snat的新虚拟中心。
  2. 点击pipe理虚拟集线器button。
  3. 点击虚拟NAT和虚拟DHCP
  4. 点击SecureNATconfiguration
  5. 启用: 使用虚拟NATfunction
  6. 启用: 使用虚拟DHCPfunction
  7. 设置: IP地址 = 192.168.7.1
  8. 设置: 子网掩码 = 255.255.255.0
  9. 设置:将IP地址 192.168.7.50 分配给192.168.7.60
  10. 设置: 子网掩码 = 255.255.255.0
  11. 设置: 默认网关地址 = 192.168.7.1
  12. 将DNS服务器地址设置为当前在/etc/resolv.conf文件中的任何地址。
  13. 点击OK
  14. 点击启用S​​ecureNAT
  15. 点击退出
  16. 再次点击退出

步骤5和步骤6启用SoftEther中的function,除了SoftEther不实现DNS转发器之外,其它function与dnsmasq相同。 请记住在新的集线器中创build用户帐户。 忽略有关虚拟机环境的所有警告。

关于SoftEther的非显而易见的事情是192.168.7.1网关地址没有绑定到服务器,并且不能从服务器访问。 如果您希望服务器与VPN客户端进行通信,请执行以下操作:

  1. 点击本地桥接设置button。
  2. Virtual Hub下拉菜单中selectsnat
  3. select桥接与新的水龙头设备
  4. 设置新的Tap设备名称 = snat
  5. 点击创build本地桥
  6. 点击退出

现在把这个节放在/ etc / network / interfaces文件中:

 allow-hotplug tap_snat iface tap_snat inet static address 192.168.7.2 netmask 255.255.255.0 

请注意,SoftEther创build的接口如何在主机环境中始终具有tap_前缀。 重新启动后,当SoftEther启动时,tap_snat接口将会联机。

请记住,SoftEther不使用Linux内核工具进行NAT,并且主机不得将SoftEther网关地址附加到其任何接口。 在这里使用.2不是拼写错误。

默认的SoftEther安全策略允许VPN客户端使用超出DHCP范围的静态IP地址,所以UFW可以像这样做端口转发(禁止IP转发):

 *nat :PREROUTING ACCEPT [0:0] -A PREROUTING -i eth0 -p tcp --dport 1234 -j DNAT --to 192.168.7.3:1234 COMMIT 

关于这样做的超级干净的事情是,SoftEther将桥接广播stream量,使得诸如mDNS和uPNP之类的东西正常工作,并且服务器将在与兼容的VPN客户端连接的客户端计算机的资源pipe理器面板中显示为MyServer.local 。