🐈

RTX1210でL2TP/IPsecの接続ユーザ毎にfilterする方法

2025/02/06に公開

これといった情報が見つからなかったので四苦八苦した結果をここに記す。

実現したいこと

  • anonymousなppで何人ものユーザから接続されているなか、一部ユーザだけ特定のホストへのアクセスを制限したい。

方針

  • 対象となる(制限したい)ユーザに払い出すIPアドレスをpp auth usernameで設定する
  • そのIPアドレスを条件にfilterを設定する

具体例

制限するユーザを定義

pp select anonymous

  # 制限しないユーザ
  pp auth username user1 pass1
  pp auth username user2 pass2

  # 制限するユーザ (IPアドレスを指定する)
  pp auth username userA passA 192.168.0.209

  # 制限しないユーザに割り当てるIPアドレス
  ip pp remote address pool 192.168.0.100-192.168.0.150

制限するユーザに設定するIPアドレス(192.168.0.209)はip pp remote address pooldhcpと重複しないように設定する。
この例では適当にアドレスを割り振っているが、サブネット指定でfilterできるように、例えば192.168.0.208/28(208〜223)のようにIPアドレスを決めた方が後でラクチン

filterを定義して設定

# 制限しないユーザを全てpassさせる
ip filter 101 pass 192.168.0.100-192.168.0.150 * * * *

# 制限ユーザの接続できるホストをpass
ip filter 102 pass * 172.16.1.10 * * *
ip filter 103 pass * 172.16.1.11 * * *

# あとはreject(これいらないかも)
ip filter 104 reject 192.168.0.209 * * * *

## filterを適用
pp select anonymous
  ip pp secure filter in 101 102 103 104

これでuserAは172.16.1.10、172.16.1.11だけに接続可能となる。
user1、user2はこれまで通り全てのホストへ接続可能。

参考

https://www.rtpro.yamaha.co.jp/RT/manual/rt-common/ppp/pp_auth_username.html
https://www.rtpro.yamaha.co.jp/RT/FAQ/IP-Filter/ip-packet-filter.html

Discussion