Строки файла конфигурации в /etc/network/interfaces
переведите в определенные команды, чтобы поднять или вниз интерфейс и настроить его.
Есть ли способ видеть, в какие команды он переводит (подобный set -x
в сценарии Bash) во время времени выполнения или, еще лучше, на самом деле не вызывая соответствующие команды.
Я знаю, что способ, которым это переводит в команды, отличается через версии Ubuntu (и также Debian). Таким образом, было бы интересно узнать в образовательных целях, чистом любопытстве и конечно иметь те команды, удобные, когда необходимо вызвать их вручную.
Ха, узнанный, как сделать это. Я не уверен, что это будет работать одинаково над более старыми версиями 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