无法使用NAT访问外部networking

networking

我正在build立以下networking,有三个系统,VPN应该介于防火墙和卡利之间。 让我们假设所有的系统都使用Ubuntu 16.04(最终我将在Ubuntu上安装Kali工具):

我的网络

  • 我的Kali能够访问VPN服务器,但是无法ping通防火墙。
  • 我看到一个请求防火墙的VPN服务器的ARP请求,但没有回复。
  • 我想在VPN服务器中使用NAT。
  • 编辑:似乎防火墙能够build立与Kali系统的新会话,但它不能以另一种方式工作。 奇怪的是,因为所有的Iptables策略默认都是ACCEPT。

  • 当询问有关防火墙的ARP地址时,为什么没有来自VPN的回复? 我期待防火墙回复自己的MAC地址。
  • 我应该做些什么来启用VPN服务器中的NAT?

路线

  • 卡莉: http : //pastebin.com/bWhasRwv
  • VPN服务器: http : //pastebin.com/9FYSkV2R
  • 防火墙: http : //paste.ubuntu.com/23215621/

iptables

Iptables的VPN服务器:

iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i tap0 -j ACCEPT iptables -A INPUT -i enp0s3 -j ACCEPT iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t nat -A POSTROUTING -o tap0 -j MASQUERADE # Enmascarmiento IP iptables -A FORWARD -i tap0 -o enp0s3 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i enp0s3 -o tap0 -j ACCEPT 

其他两个系统的iptables有一个接受所有的策略。

转发和伪装

转发已启用VPN服务器。 我已经在/ proc / sys / net / ipv4 / ip_forward中设置了。

另外,系统有模块使用masquerada(lsmod):

 ipt_MASQUERADE 16384 1 nf_nat_masquerade_ipv4 16384 1 ipt_MASQUERADE nf_nat 24576 2 nf_nat_ipv4,nf_nat_masquerade_ipv4 nf_conntrack 106496 5 nf_nat,nf_nat_ipv4,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_ipv4 x_tables 36864 5 ip_tables,ipt_MASQUERADE,xt_conntrack,iptable_filter,iptable_mangle 

IFCONFIG

  • VPN服务器: http : //pastebin.com/E4dVuvq0
  • 卡莉: http : //pastebin.com/9aXa4R3g
  • 防火墙: http : //paste.ubuntu.com/23215645/

固定

我发现了这个错误:

 12.5.0.0 * 255.255.255.0 U 0 0 0 tap0 

问题是我在Kali系统中设置了这个路由的默认网关。 我必须指定输出所有通过10.8.0.1的stream量,在我看来这是多余的,因为这是唯一可行的方法。

您不允许在VPN服务器上转发或接受新的连接。 更改

 iptables -A FORWARD -i tap0 -o enp0s3 -m state --state RELATED,ESTABLISHED -j ACCEPT 

 iptables -A FORWARD -i tap0 -o enp0s3 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT 

并尝试是否有效。 如果是这样,请删除通用规则的NEW语句,并只创build一个新规则,并接受您需要转发的协议/端口,例如:

 iptables -A FORWARD -i tap0 -o enp0s3 -p tcp --dport 22 -m state --state NEW -j ACCEPT 

另外,如果要将外部请求转发到内部LAN,则必须使用目标NAT:

示例:将端口10022上的SSH转发到内部机器端口22:

 iptables -t nat -A PREROUTING -p tcp --dport 10022 -j DNAT --to-destination 192.168.1.100:22 iptables -t nat -A POSTROUTING -p tcp --dport 10022 -j MASQUERADE 

另外,您是否在/etc/sysctl.conf中永久设置了转发规则? 如果你只是echo 1 > /proc/sys/net/ipv4/ip_forward它只是活跃,直到下一次重新启动。

编辑:我刚刚发现我是盲人。 当然你的防火墙不会回复你的ARP请求,而是在另一个networking中。 每个定义ARP请求都不会被转发。 如果您的笔记本电脑想与防火墙进行通信,则不会直接通过网关(您的VPN)进行通信。 在路由表中,VPN作为与防火墙进行通信的网关存在,所以根本不应该向防火墙发送ARP请求。 ARP不是IP,它不会被转发。

你应该testing一下,如果NAT与SSH协同工作,试试之前发布的内容,并通过端口10022连接到你的路由器,你应该被转发到你的防火墙。