Sto eseguendo un server VPN domestico sul mio iMac (L2TP / IPSec nativo di OS X 10.13). La stessa macchina esegue anche Condivisione Internet. Vorrei che i client fossero in grado di accedere a una macchina sulla sottorete di Condivisione Internet. Non riesco ad aggiungere una regola al router LAN - l'opzione non è disponibile nell'interfaccia - per inviare il traffico all'indirizzo IP del router / NAT di Internet Sharing, quindi vorrei che i client VPN semplicemente cadessero nella sottorete che è il NAT Sharing Internet. Come fare questo?
Il file di configurazione per la mia 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>
Ammettiamo che ci sono alcune cose sbagliate lì dalla sperimentazione ma, la configurazione funziona. Posso collegarmi, ecc. Al momento del lancio, questo è l'output:
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
Questa riga
2018-07-26 19:58:04 EDT params->exec_args[7] = 10.0.0.101:
fornisce l'indirizzo IP del server VPN. Quello che non riesco a capire è cosa fare per cambiare questo indirizzo IP della stessa macchina ma per la sottorete NAT, 192.168.2.101
. Ho provato ad aggiungere 192.168.2.101
al campo VPNHostName
e al campo Addresses
. ( Addresses
sembra essere stato usato per questo poche versioni del sistema operativo. Ho supposto che VPNHostName
possa averlo sostituito.) Il mio problema è che params->exec_args[7]
ottiene il suo valore non dal file di configurazione ma da /System/Library/Extensions/L2TP.ppp
?
Ho anche provato ad aggiungere 192.168.2.1
all'elenco OfferedRouteAddresses
e persino a aggiungere gli indirizzi IP delle macchine con cui voglio parlare, come entrambi gli indirizzi IP LAN e NAT, a quell'elenco.