我有一个在 windows2008 R2 服务器上运行的 openVPN 客户端,通过这个 windows 2008,我试图对位于 win2008s 真实网络后面的机器进行静态 nat。这是我的 2008 服务器配置;
- OpenVPN 服务器;10.9.0.1
- OpenVPN 连接:“本地连接 2”10.9.0.28/24
- 本地网络:“本地连接”192.168.10.71/24
2008 服务器上的 NAT 配置输出
# ----------------------------------
# NAT configuration
# ----------------------------------
pushd routing ip nat
uninstall
install
set global tcptimeoutmins=1440 udptimeoutmins=1 loglevel=ERROR
#
#NAT Configuration For Interface Local Area Connection 2
#
add interface name="Local Area Connection 2" mode=FULL
add addressrange name="Local Area Connection 2" start=10.9.0.24 end=10.9.0.31 mask=255.255.255.248
add addressmapping name="Local Area Connection 2" public=10.9.0.28 private=192.168.10.59 inboundsessions=enable
#
#NAT Configuration For Interface Local Area Connection
#
add interface name="Local Area Connection" mode=PRIVATE
popd
当我尝试从 openvpn 服务器 ping 10.9.0.28 或连接到其上的 tcp 端口时,我看到目标 nat 已在 Windows 2008 服务器上完成,并且我的数据包被发送到 10.9.0.28,但源 ip 为 10.9.0.1。
19:54:25.046131 IP 10.9.0.1.43109 > 192.168.10.59.2000: Flags [S], seq 870055875, win 5840, options [mss 1350,sackOK,TS val 8948005 ecr 0,nop,wscale 7], length 0
19:54:25.046198 IP 192.168.10.59.2000 > 10.9.0.1.43109: Flags [R.], seq 0, ack 870055876, win 0, length 0
19:54:28.044561 IP 10.9.0.1.43109 > 192.168.10.59.2000: Flags [S], seq 870055875, win 5840, options [mss 1350,sackOK,TS val 8951005 ecr 0,nop,wscale 7], length 0
当然,返回的数据包无法找到发件人。我还尝试不直接映射主机,而是进行服务/端口转换,但这也不起作用。在我的 Linux 机器中,我当然可以在使用 iptables 进行 nat 时更改源 IP 地址,但对于同样的情况,我找不到如何在 Windows 上执行此操作。
那么,您知道如何在使用 Windows 服务器进行 NAT 时更改源 IP 吗?
我在这里先向您的帮助表示感谢
戈克坦
答案1
您可以使用 netsh 来执行此操作:
netsh routing ip nat install
netsh routing ip nat add interface "Local sth or Ethernet etc" AddressOnly
netsh routing ip nat add addressrange "Local sth or Ethernet etc" start=10.9.0.24 end=10.9.0.31 255.255.255.248
netsh routing ip nat add addressmapping "Local sth or Ethernet etc" public=<what_you_want_the_ip_to_look_like> <what_the_ip_actually_is> inboundsessions=disable
最后一个选项是使用(或者不像我们这里那样)相反方向的相同地址映射。如果您不知道自己在做什么,这可能会破坏您的互联网连接。