SNAT no Windows 2008

1

Eu tenho um cliente openVPN que é executado no servidor windows2008 R2 e através deste windows 2008, estou tentando fazer o nat estático para uma máquina que está por trás dessa rede real do win2008s. Aqui está minha configuração para o servidor 2008;

  • servidor OpenVPN; 10.9.0.1
  • Conexão OpenVPN: "Conexão de área local 2 "10.9.0.28/24
  • Rede local: "Conexão local" 192.168.10.71/24

saída da minha configuração NAT no servidor 2008

    # ----------------------------------
    # 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

Quando eu tento pingar 10.9.0.28 do servidor openvpn ou conectar a uma porta tcp nele, vejo que o destino nat é feito no servidor windows 2008 e meus pacotes são enviados para 10.9.0.28, mas com o fonte 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

e, com certeza, os pacotes que retornam não encontram seu caminho para o originador. Eu também tentei não mapear os hosts diretamente, mas a tradução do serviço / porta, mas isso também não funcionou. Em minhas caixas de linux, eu posso mudar o endereço IP de origem enquanto faço nat com iptables, mas para o mesmo cenário, eu não consegui achar como fazer isso no windows.

Então, você tem alguma idéia de como alterar o IP de origem ao fazer NAT com servidores Windows?

obrigado pela ajuda antecipadamente

goktan

    
por goktan 09.10.2012 / 16:13

1 resposta

1

Você pode usar o netsh para fazer isso:

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

A última opção é usar (ou não como fazemos aqui) o mesmo addressmapping na direção oposta. Isso pode ser interrompido, por exemplo, sua conectividade com a Internet, se você não souber o que está fazendo.

    
por 25.08.2017 / 21:59