Estoy ejecutando un servidor VPN doméstico en mi iMac (L2TP / IPSec nativo de OS X 10.13). La misma máquina también está ejecutando el uso compartido de Internet. Me gustaría que los clientes puedan acceder a una máquina en la subred de Internet compartido. No puedo agregar una regla al enrutador de LAN (la opción no está disponible en la interfaz) para enviar tráfico a la dirección IP del enrutador / NAT de Internet, por lo que me gustaría que los clientes de VPN simplemente ingresen a la subred que es el NAT para compartir Internet. ¿Cómo hacer esto?
El archivo de configuración para mi VPN: /Library/Preferences/SystemConfiguration/com.apple.RemoteAccessServers.plist
contiene:
<plist version="1.0">
<dict>
<key>ActiveServers</key>
<array>
<string>com.apple.ppp.l2tp</string>
</array>
<key>Servers</key>
<dict>
<key>com.apple.ppp.l2tp</key>
<dict>
<key>Addresses</key>
<string>192.168.2.101</string>
<key>DNS</key>
<dict>
<key>OfferedSearchDomains</key>
<array/>
<key>OfferedServerAddresses</key>
<array>
<string>208.67.222.222</string>
<string>208.67.220.220</string>
</array>
</dict>
<key>IPSec</key>
<dict>
<key>AuthenticationMethod</key>
<string>SharedSecret</string>
<key>IdentifierVerification</key>
<string>None</string>
<key>LocalIdentifier</key>
<string></string>
<key>RemoteIdentifier</key>
<string></string>
<key>SharedSecret</key>
<string>com.apple.ppp.l2tp</string>
<key>SharedSecretEncryption</key>
<string>Keychain</string>
</dict>
<key>IPv4</key>
<dict>
<key>ConfigMethod</key>
<string>Manual</string>
<key>DestAddressRanges</key>
<array>
<string>192.168.2.101</string>
<string>192.168.2.200</string>
</array>
<key>OfferedRouteAddresses</key>
<array>
<string>192.168.2.1</string>
<string>192.168.2.101</string>
<string>192.168.2.102</string>
<string>192.168.2.103</string>
<string>10.0.0.101</string>
<string>10.0.0.102</string>
<string>10.0.0.103</string>
<string>10.0.0.1</string>
</array>
<key>OfferedRouteMasks</key>
<array>
<string>255.255.255.0</string>
<string>255.255.255.0</string>
<string>255.255.255.0</string>
<string>255.255.255.0</string>
<string>255.255.255.0</string>
<string>255.255.255.0</string>
<string>255.255.255.0</string>
<string>255.255.255.0</string>
</array>
<key>OfferedRouteTypes</key>
<array/>
</dict>
<key>Interface</key>
<dict>
<key>SubType</key>
<string>L2TP</string>
<key>Type</key>
<string>PPP</string>
</dict>
<key>L2TP</key>
<dict>
<key>Transport</key>
<string>IPSec</string>
</dict>
<key>PPP</key>
<dict>
<key>ACSPEnabled</key>
<integer>1</integer>
<key>AuthenticatorProtocol</key>
<array>
<string>MSCHAP2</string>
</array>
<key>DisconnectOnIdle</key>
<integer>1</integer>
<key>DisconnectOnIdleTimer</key>
<integer>7200</integer>
<key>IPCPCompressionVJ</key>
<integer>0</integer>
<key>LCPEchoEnabled</key>
<integer>1</integer>
<key>LCPEchoFailure</key>
<integer>5</integer>
<key>LCPEchoInterval</key>
<integer>60</integer>
<key>Logfile</key>
<string>/var/log/ppp/vpnd.log</string>
<key>VerboseLogging</key>
<integer>1</integer>
</dict>
<key>Server</key>
<dict>
<key>Logfile</key>
<string>/var/log/ppp/vpnd.log</string>
<key>MaximumSessions</key>
<integer>128</integer>
<key>VerboseLogging</key>
<integer>1</integer>
</dict>
</dict>
</dict>
<key>VPNHostName</key>
<string>192.168.2.1</string>
</dict>
</plist>
Es cierto que hay algunas cosas erróneas en la experimentación pero la configuración se ejecuta. Puedo conectarme, etc. En el lanzamiento, esta es la salida:
2018-07-26 19:58:04 EDT Server 'com.apple.ppp.l2tp' starting...
2018-07-26 19:58:04 EDT Loading plugin /System/Library/Extensions/L2TP.ppp
2018-07-26 19:58:04 EDT params->daemonize = 1
2018-07-26 19:58:04 EDT params->max_sessions = 128
2018-07-26 19:58:04 EDT params->server_id = com.apple.ppp.l2tp
2018-07-26 19:58:04 EDT params->server_type = PPP
2018-07-26 19:58:04 EDT params->server_subtype = L2TP
2018-07-26 19:58:04 EDT params->lb_enable = 0
2018-07-26 19:58:04 EDT params->plugin_path = L2TP.ppp
2018-07-26 19:58:04 EDT params->log_path = /var/log/ppp/vpnd.log
2018-07-26 19:58:04 EDT params->next_arg_index = 35
2018-07-26 19:58:04 EDT params->exec_args[0] = pppd
2018-07-26 19:58:04 EDT params->exec_args[1] = serverid
2018-07-26 19:58:04 EDT params->exec_args[2] = com.apple.ppp.l2tp
2018-07-26 19:58:04 EDT params->exec_args[3] = nodetach
2018-07-26 19:58:04 EDT params->exec_args[4] = proxyarp
2018-07-26 19:58:04 EDT params->exec_args[5] = plugin
2018-07-26 19:58:04 EDT params->exec_args[6] = L2TP.ppp
2018-07-26 19:58:04 EDT params->exec_args[7] = 10.0.0.101:
2018-07-26 19:58:04 EDT params->exec_args[8] = ms-dns
2018-07-26 19:58:04 EDT params->exec_args[9] = 208.67.222.222
2018-07-26 19:58:04 EDT params->exec_args[10] = ms-dns
2018-07-26 19:58:04 EDT params->exec_args[11] = 208.67.220.220
2018-07-26 19:58:04 EDT params->exec_args[12] = debug
2018-07-26 19:58:04 EDT params->exec_args[13] = logfile
2018-07-26 19:58:04 EDT params->exec_args[14] = /var/log/ppp/vpnd.log
2018-07-26 19:58:04 EDT params->exec_args[15] = idle
2018-07-26 19:58:04 EDT params->exec_args[16] = 7200
2018-07-26 19:58:04 EDT params->exec_args[17] = noidlesend
2018-07-26 19:58:04 EDT params->exec_args[18] = lcp-echo-interval
2018-07-26 19:58:04 EDT params->exec_args[19] = 60
2018-07-26 19:58:04 EDT params->exec_args[20] = lcp-echo-failure
2018-07-26 19:58:04 EDT params->exec_args[21] = 5
2018-07-26 19:58:04 EDT params->exec_args[22] = mru
2018-07-26 19:58:04 EDT params->exec_args[23] = 1500
2018-07-26 19:58:04 EDT params->exec_args[24] = mtu
2018-07-26 19:58:04 EDT params->exec_args[25] = 1280
2018-07-26 19:58:04 EDT params->exec_args[26] = receive-all
2018-07-26 19:58:04 EDT params->exec_args[27] = ip-src-address-filter
2018-07-26 19:58:04 EDT params->exec_args[28] = 1
2018-07-26 19:58:04 EDT params->exec_args[29] = novj
2018-07-26 19:58:04 EDT params->exec_args[30] = noccp
2018-07-26 19:58:04 EDT params->exec_args[31] = intercept-dhcp
2018-07-26 19:58:04 EDT params->exec_args[32] = require-mschap-v2
2018-07-26 19:58:04 EDT params->exec_args[33] = l2tpmode
2018-07-26 19:58:04 EDT params->exec_args[34] = answer
Esta línea
2018-07-26 19:58:04 EDT params->exec_args[7] = 10.0.0.101:
da la dirección IP del servidor VPN. Lo que no puedo averiguar es qué hacer para cambiar esto en la dirección IP de la misma máquina pero para la subred NAT, 192.168.2.101
. Intenté agregar 192.168.2.101
al campo VPNHostName
y al campo Addresses
. (Parece que Addresses
se usó para estas pocas versiones de sistema operativo. Supuse que VPNHostName
podría haberlo reemplazado). ¿Mi problema es que params->exec_args[7]
obtiene su valor no del archivo de configuración sino de /System/Library/Extensions/L2TP.ppp
?
También intenté agregar 192.168.2.1
a la lista OfferedRouteAddresses
e incluso agregar las direcciones IP de las máquinas con las que quiero hablar, como sus direcciones IP de LAN y NAT, a esa lista.