Существует ли способ видеть команды, которые были бы выполнены на основе/etc/network/interfaces строк файла конфигурации?

Строки файла конфигурации в /etc/network/interfaces переведите в определенные команды, чтобы поднять или вниз интерфейс и настроить его.

Есть ли способ видеть, в какие команды он переводит (подобный set -x в сценарии Bash) во время времени выполнения или, еще лучше, на самом деле не вызывая соответствующие команды.

Я знаю, что способ, которым это переводит в команды, отличается через версии Ubuntu (и также Debian). Таким образом, было бы интересно узнать в образовательных целях, чистом любопытстве и конечно иметь те команды, удобные, когда необходимо вызвать их вручную.

1
задан 6 May 2014 в 00:59

1 ответ

Ха, узнанный, как сделать это. Я не уверен, что это будет работать одинаково над более старыми версиями Ubuntu (я работаю 14.04), но вот то, как я смог видеть, что команды используют ifup(8) :

ifup -anv

, который в долгих параметрах командной строки более читаем как:

ifup --all --no-act --verbose

Это должно считать Ваш /etc/network/interfaces и показать Вам, что продолжается.

Однако я получил более полный результат путем выполнения:

ifup -nv --force $(ifquery -l)

, Так как я смог выполнить это от непривилегированной учетной записи пользователя, я положителен, что это не делает попытку никаких странных действий, не дурачьте --force опция.

, Если Вы хотите проверить с другим interfaces, файл, принимая Вас имеет путь того файла в переменной среды ENIFACES, это должно сделать задание:

ifup -nv --force -i "$ENIFACES" $(ifquery -l -i "$ENIFACES")
<час>

Вот пример interfaces:

кошка testif

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
        address 192.168.16.33
        netmask 255.255.255.0
        gateway 192.168.16.254
        dns-domain mydomain.net
        dns-nameservers 8.8.8.8
        dns-search mydomain.net sub.mydomain.net myotherdomain.com

auto _br1
iface _br1 inet static
        address 10.1.0.0
        netmask 255.255.0.0
        pre-up brctl addbr $IFACE
        post-up route add -host 192.168.16.1 $IFACE
        post-down brctl delbr $IFACE

auto _br2
iface _br2 inet static
        address 10.1.0.0
        netmask 255.255.0.0
        pre-up brctl addbr $IFACE
        post-up route add -host 192.168.16.2 $IFACE
        post-down brctl delbr $IFACE

iface eth0 inet6 static
        address 2000:dead:beef:4::1234:5678
        gateway 2000:dead:beef:0::1
        netmask 64

$... и вывод произвели:

Configuring interface lo=lo (inet)
run-parts --verbose /etc/network/if-pre-up.d
run-parts --verbose /etc/network/if-up.d
Configuring interface lo=lo (inet)
run-parts --verbose /etc/network/if-pre-up.d
run-parts --verbose /etc/network/if-up.d
Configuring interface eth0=eth0 (inet)
run-parts --verbose /etc/network/if-pre-up.d
ip addr add 192.168.16.33/255.255.255.0 broadcast 192.168.16.255          dev eth0 label eth0
ip link set dev eth0   up
 ip route add default via 192.168.16.254  dev eth0
run-parts --verbose /etc/network/if-up.d
Configuring interface eth0=eth0 (inet6)
run-parts --verbose /etc/network/if-pre-up.d
modprobe -q net-pf-10 > /dev/null 2>&1 || true # ignore failure.


sysctl -q -e -w net.ipv6.conf.eth0.autoconf=0
ip link set dev eth0   up
ip -6 addr add 2000:dead:beef:4::1234:5678/64  dev eth0
 ip -6 route add default via 2000:dead:beef:0::1 dev eth0
/lib/ifupdown/settle-dad.sh
run-parts --verbose /etc/network/if-up.d
Configuring interface _br1=_br1 (inet)
brctl addbr $IFACE
run-parts --verbose /etc/network/if-pre-up.d
ip addr add 10.1.0.0/255.255.0.0 broadcast 10.1.255.255           dev _br1 label _br1
ip link set dev _br1   up

route add -host 192.168.16.1 $IFACE
run-parts --verbose /etc/network/if-up.d
Configuring interface _br2=_br2 (inet)
brctl addbr $IFACE
run-parts --verbose /etc/network/if-pre-up.d
ip addr add 10.1.0.0/255.255.0.0 broadcast 10.1.255.255           dev _br2 label _br2
ip link set dev _br2   up

route add -host 192.168.16.2 $IFACE
run-parts --verbose /etc/network/if-up.d
2
ответ дан 11 November 2019 в 09:38

Другие вопросы по тегам:

Похожие вопросы: