У меня есть много туннелей или серверов pptp vpn для подключения, и linux назначит ppp0 для 1-го подключения, ppp1 для 2-го подключения и так далее. Мне нужно исправить интерфейсы, чтобы я мог правильно переадресовать соединение через iptables. Есть ли способ исправить имя интерфейса для каждого туннеля?

1 ответ1

2

Это не так, как это делается. Способ сделать это указан в очень полезной вики Arch Linux, под заголовком 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

и так далее.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .