私は単純なopenvpn構成を持っています。
remote 1.2.3.4
dev tun
ifconfig 10.74.1.13 10.75.2.1
secret static.key
route 10.75.0.0 255.255.0.0
keepalive 10 60
リンクがアップすると、ルーティングテーブルが更新されます。
[me@localhost ~]$ ip route
10.75.2.1 dev tun0 proto kernel scope link src 10.74.1.13
10.21.54.0/24 dev eth0 proto kernel scope link src 10.21.54.133
10.74.0.0/16 dev br0 proto kernel scope link src 10.74.0.13
169.254.0.0/16 dev eth0 scope link metric 1002
169.254.0.0/16 dev br0 scope link metric 1004
**10.75.0.0/16 via 10.75.2.1 dev tun0**
default via 10.21.54.2 dev eth0
パケットがもう一方の端(10.75.2.1)に到着すると、送信元IPアドレスは10.74.1.13になります。しかし、送信元アドレスを10.74.0.13にします。このコマンドを実行できます
[me@localhost ~]$ Sudo ip route change 10.75.0.0/16 via 10.75.2.1 src 10.74.0.13
この変更を行います。これで、送信元アドレスは私が望むものになります(10.74.0.13)。パズルの最後の部分は、私の質問のすべてです。
リンクが最初に確立されたときにOpenVPNにこの方法でルートを設定させるにはどうすればよいですか?
サーバーにアクセスできません。ただし、VPNサーバーに接続するすべてのPCに対してカスタムのifconfig
またはroute
構成ファイルを作成できることを覚えています。
Openvpnについてはよくわかりませんが、pptpdを使用すると、ユーザーアカウントをmysqlデータベースに保存し、pptpdにfreeradius-mysqlプラグインを使用するときに各ユーザーのフレーム化されたIPアドレスを指定できます。
構成チュートリアルは次のとおりです。
http://www.pmoghadam.com/homepage/HTML/slackware-12.2-poptop-freeradius-mysql-pppoe-server.html