作者 主題: VPN Server 如何讓連進來的用戶有自己固定的 pppx , 我不想讓系統自動從 ppp0 1 2 3 這樣隨機指定 !?  (閱讀 2210 次)

0 會員 與 1 訪客 正在閱讀本文。

carasha_tw

  • 可愛的小學生
  • *
  • 文章數: 4
    • 檢視個人資料
我使用 CentOS 6 架設了 VPN Server ( PPTP 或 L2TP/IPsec) , 當 Internet 用戶連進 VPN Server 時 , 系統會自動指定 ppp0 ppp1 ppp2 以此類堆 !

但是 , 我現在不想要讓系統自己指定 pppx 給連進來的 VPN 用戶 , 我想要 :

vpnuser1 -> ppp1
vpnuser2 -> ppp2
vpnuser3 -> ppp3

我查過了一些 pppd 的設定 , 並且 , 也到 /etc/sysconfig/network-scripts/ifup-ppp 和 /etc/ppp/ip-up 和 /etc/ppp/ip-up.local 這幾個 script , 但是我還是無法達成我要的目的 !

有前輩可以指點一下 , 我應該朝哪個方向去做嗎 ?
« 上次編輯: 2016-04-29 11:30 由 carasha_tw »

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
恐怕沒辦法

因為找到以前的 script
(稍微修改一下 ... 原來以前寫那麼差 , 還要暫存檔)

自訂一個指令吧
代碼: [選擇]
#!/bin/bash

ifplst=$(ifconfig | grep ppp | awk '{print $1}')

for ifppp in $ifplst ;do
    eval "$(strings /var/run/ppp/pppd2.tdb | grep IFNAME=$ifppp | sed 's/[&;]/\n/g')" &>/dev/null

    echo -n 'interface='$IFNAME' , '
    echo -n 'username='$PEERNAME' , '
    echo 'cli->serv='$IPREMOTE'->'$IPLOCAL

done | sort -u



« 上次編輯: 2016-04-29 14:15 由 dark »

HaWay

  • 大隻佬!
  • 老人組
  • 俺是博士!
  • *****
  • 文章數: 3980
    • 檢視個人資料
我只知道有固定的 IP, 固定的 interface 好像沒辦法
我做人那麼 nice, 肯定有什麼誤會.....

carasha_tw

  • 可愛的小學生
  • *
  • 文章數: 4
    • 檢視個人資料
我會想達成這樣的目的在於 :

我想知道每個 vpnuser 的網路使用量 (traffic) , 因為 vnstat 只能記錄 by interface , 它並不能 by ip !

所以我才會想說能不能當每個 vpnuser 進來後 , 給它固定的 interface (pppX) , 如果能有固定的 interface , 那我搭配 vnstat 就能知道每個 vpnuser 每月的網路使用量 !

我知道可以讓每個 vpnuser 有固定的 IP , 但是 vnstat 並無法 by ip !

我的目的就是想知道每個 vpnuser 每月用了多少 traffic !

HaWay

  • 大隻佬!
  • 老人組
  • 俺是博士!
  • *****
  • 文章數: 3980
    • 檢視個人資料
不然就找找 interface rename 的相關文章, 自己從 scripts 去控制。
我做人那麼 nice, 肯定有什麼誤會.....

carasha_tw

  • 可愛的小學生
  • *
  • 文章數: 4
    • 檢視個人資料
首先 , 先謝謝兩位大師的指點 , 我想我應該找出 solution 了 .

大略說明一下 :

1. 首先 , 透過 /etc/ppp/chap-secrets 的設定 , 讓每個 vpnuser 有自己固定的 private IP .

2. 在 /etc/ppp/ip-up.local 這支 script 控制進來的 pppX interface , 先比對 private IP (每一個 private IP 給他自己的 pppX) , 在這邊透過 interface rename 的方式來改變 pppX -> your_ppp_number , 例如 ppp0 -> ppp25 .

interface rename 方式只有簡單的三行 :

代碼: [選擇]
ifconfig ppp0 down
ip link set ppp0 name ppp25
ifconfig ppp25 up

3. 同樣的在 /etc/ppp/ip-up.local 這支 , 利用 vnstat 指令 , create 新的 pppX 的 database !

代碼: [選擇]
vnstat -u -i ppp25
當然 , script 裡面一些細節 , 還是要自己去調整 , 我只是大概說明一個方向 .

最後 , 再次謝謝兩位的幫忙 , 再次感謝 !
« 上次編輯: 2016-05-19 07:35 由 carasha_tw »

HaWay

  • 大隻佬!
  • 老人組
  • 俺是博士!
  • *****
  • 文章數: 3980
    • 檢視個人資料
我做人那麼 nice, 肯定有什麼誤會.....

dark

  • 俺是博士!
  • *****
  • 文章數: 1581
    • 檢視個人資料
太帥了 ...
竟然這樣能改 interface 名稱

剛試了一下 , 連 proc 裡面都變了
... 不像偷改指令的方法只騙使用者