我有许多 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
等等。