路由网络通信

路由网络通信

你好,我尝试执行以下操作(Ips 是示例):

  • 我有一台源计算机,其 IP 为 50.50.50.1
  • 我的目标计算机的 IP 为 50.50.40.1(源计算机无法访问)
  • 我有一台网关计算机,其 IP 为 50.50.30.1(可从源计算机访问,并且通过网络适配器 tun0 连接到目标计算机

沟通应该是这样的:

50.50.50.1 (default adapter) -> 50.50.40.1 (tun0 adapter) -> 50.50.30.1

是否可以在网关计算机的路由表中配置类似的内容?

我使用 ubuntu 16.04

谢谢你的回答

答案1

我找到了解决方案。我可以使用 NAT 表:

# the ip of node which is in MSD network. This can be for example edge node
IP_OF_SOURCE_NODE=50.50.50.1
# ip of destination database where we want to connect (do not forget on port)
IP_OF_DESTINATION_NODE=50.50.30.1:22
# ip address of VPN network adapter
IP_OF_VPN_NETWORK_ADAPTER=50.50.51.1

# Need to change the destination ip to database ip for the packets incoming from default network from specific source (for example dge node) 
iptables -t nat -A PREROUTING -i ens5 -p tcp -s ${IP_OF_SOURCE_NODE} --dport 22 -j DNAT --to-destination ${IP_OF_DESTINATION_DATABASE}

# Need to change the source ip to inet address of vpn network address for packets leaving VPN network adapter
iptables -t nat -A POSTROUTING -o tun0 -p tcp -s ${IP_OF_SOURCE_NODE} --dport 22 -j SNAT --to-source ${IP_OF_VPN_NETWORK_ADAPTER}

此后,我成功地从 50.50.50.1 通过 50.50.40.1 连接到节点 50.50.30.1

相关内容