
私は OpenVPN 経由で多数のクライアントが接続されたサーバーを運営していますが、クライアントの数は徐々に増え、数日前には 255 を超えました。VPN を最初に設定したとき、このことを念頭に置いてサブネット マスクを「255.255.0.0」に設定しましたが、何かがおかしいようです。IP10.8.0.x
アドレスを持つ古いクライアントには接続できるのですが、IP アドレスを持つ新しいクライアントには接続できません10.8.1.x
。
設定に何か不足している部分はありますか?
/etc/openvpn/server.conf
:port 1194 proto udp dev tun ca ca.crt crl-verify crl.pem cert server.crt key server.key dh dh.pem auth SHA512 tls-auth ta.key 0 cipher AES-256-CBC topology subnet server 10.8.0.0 255.255.0.0 ifconfig-pool-persist ipp.txt push "bypass-dhcp" push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" push "dhcp-option DNS 10.8.0.1" keepalive 10 120 sndbuf 0 rcvbuf 0 persist-key persist-tun verb 3 log /var/log/openvpn.log status openvpn-status.log # This automatically assigns domain names to clients, based on their names: # NOTE: You have to comment out user and grop lines above for this to even work #user nobody #group nogroup # default is 1 which doesn't allow user-defined scripts script-security 2 learn-address /home/dvida/openvpn_scripts/learn_address.sh
/etc/openvpn/client-common.txt
:client dev tun proto udp remote blah.blah.com 1194 sndbuf 0 rcvbuf 0 mssfix 1160 resolv-retry infinite persist-key persist-tun nobind remote-cert-tls server tls-version-min 1.0 key-direction 1 auth SHA512 cipher AES-256-CBC verb 3
ifconfig
この VPN インターフェイスには他のインターフェイスとの IP 競合がないことを報告します。tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 inet addr:10.8.0.1 P-t-P:10.8.0.1 Mask:255.255.0.0 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:71105670 errors:0 dropped:0 overruns:0 frame:0 TX packets:70755978 errors:0 dropped:391 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:42092973453 (39.2 GiB) TX bytes:42070922921 (39.1 GiB)
答え1
これは OpenVPN に関連するものではなく、次の SNAT ルールによるものであることが判明しました。
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 ! -d 10.8.0.0/24 -j SNAT --to 129.100.40.167
- ライブ
iptables
ルールを更新し、/etc/rc.local
ネットマスク/16
が/24