我有許多 pptp vpn 隧道或伺服器要連接,linux 會為第一個連接分配 ppp0,為第二個連接分配 ppp1,依此類推。我需要修復接口,以便我可以透過 iptables 正確轉發連接。有沒有辦法固定每個隧道的介面名稱?
答案1
這不是這樣做的方式。執行此操作的方法在中指定永遠有幫助的 Arch Linux wiki,在標題下Split Tunneling based on port by /etc/ppp/ip-up.d
。
讓我解釋。/etc/ppp/ip-up.d
每次pptp
建立連線時都會執行其中的所有文件,並且該文件01-routebyport.sh
將傳遞以下參數,如上面的網頁所示:
# This script is called with the following arguments:
# Arg Name
# $1 Interface name
# $2 The tty
# $3 The link speed
# $4 Local IP number
# $5 Peer IP number
# $6 Optional ``ipparam'' value foo
因此,由於您傳遞了對等 IP 號碼和介面名稱,您可以iptables
透過以下方式建置規則case
:
case $5 in:
1.1.1.1)
iptables -i $1 -j DROP
8.8.8.8)
iptables -i$1-j ACCEPT
等等。