実行する必要があるコマンドを示すためだけにPPTP VPNを使用すると仮定します。
PPTPの暗号化は長い間壊れているため、より安全なもの(OpenVPNなど)を使用することをお勧めします。使用するVPN /トンネルテクノロジーに関係なく、原則は同じです。
そのため、最初にデフォルトゲートウェイルートを追加せずにVPNを作成します。
/interface pptp-client
add add-default-route=no allow=pap,chap,mschap1,mschap2 connect-to=VPN_SERVER_IP \
dial-on-demand=no disabled=no max-mru=1440 max-mtu=1440 mrru=dis \
name=VPN_NAME password="MY_STRONG_PASSWORD" profile=default-encryption user=USERNAME
次に、VPN経由でデフォルトゲートウェイに新しいルーティングマークを追加して、新しいルーティングテーブルを作成しますvpn
。これにより、VPN経由でパケットをルーティングできます。
/ip route add dst-address=0.0.0.0/0 distance=1 gateway=VPN_GATEWAY_IP routing-mark=vpn
VPNがダウンしている場合に発信トラフィックをブロックする場合、次のルートはオプションです。
/ip route add dst-address=0.0.0.0/0 type=unreachable distance=2 routing-mark=vpn
また、VPNインターフェイス経由で送信されるパケットに対して、NATを実行する必要があります。
/ip firewall nat add chain=srcnat out-interface=VPN_NAME action=masquerade
次にmangle
、必要な宛先IPに一致するルールを追加し、作成しmark-routing
たvpn
ルートテーブルを使用するようにそれらを実行します。
/ip firewall mangle add chain=prerouting dst-address-list=VPN action=mark-routing new-routing-mark=vpn
最後にAddress List
、VPN経由でルーティングするIP を使用してファイアウォール上にを作成します。
/ip firewall address-list add list=VPN address=1.1.1.1
/ip firewall address-list add list=VPN address=2.2.2.2
/ip firewall address-list add list=VPN address=3.3.3.3
/ip firewall address-list add list=VPN address=4.4.4.4
VPN経由でルーティングするIPの数だけ、最後のルールを必要な回数繰り返します。
上記のルールは、ルーターの背後の誰がVPNなどにアクセスできるかについてのセキュリティを提供しないことに注意してください。ルールをより安全にするために、ルールに適切なソースIPチェックを追加する必要があります。
また、この方法は、VPNを介してIP全体をルーティングします。特定のポート/プロトコルをVPN経由でルーティングする必要がある場合は、必要なものに一致する追加のマングルルールを作成しmark-routing
、それらに対して行うだけです。