С bash
или zsh
в режиме emacs
вы можете использовать Alt + 0Alt +_. То есть удерживайте клавишу Alt и нажмите 0 и подчеркивание в последовательности (, которые на клавиатуре qwerty расположены рядом друг с другом, хотя вам нужно Shift для подчеркивания ).
Заменяется на первое синтаксическое слово предыдущей командной строки. Это может быть не последняя команда. Например, если последняя командная строка была:
$(echo echo foo) bar
Будет расширено до $(echo echo foo)
, а не echo
.
Если вы хотите, чтобы это была одна клавиша, вы можете использовать bind
в bash
или bindkey
в zsh
, чтобы связать эту последовательность с клавишей.
Например, для привязки к F12:
bash
:
bind "\"$(tput kf12)"'": "\e0\e_"'
zsh
:
bindkey -s $terminfo[kf12] '\e0\e_'
Добавьте маршрут узла к 192.168.1.86 с помощью следующей команды:
ip route add 192.168.1.86/32 dev eth1
где eth1 — это интерфейс, к которому подключено устройство. Этот маршрут является более конкретным, чем обычный маршрут 192.168.1.0/24, и будет выбираться при обращении к устройству, для других хостов применяется обычный маршрут.
Если вы можете назначить дополнительный адрес хосту 192.168.1.86, вы можете сделать это следующим образом:
На 192.168.1.86 используйте «ifconfig -a», чтобы получить список текущих настроек интерфейса, например:
# ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.86 netmask 255.255.255.0 broadcast 192.168.1.255
ether 00:21:f6:41:94:37 txqueuelen 1000 (Ethernet)
RX packets 68267884 bytes 20871214051 (19.4 GiB)
RX errors 0 dropped 3485 overruns 0 frame 0
TX packets 5758238 bytes 843203020 (804.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1 (Local Loopback)
RX packets 1663 bytes 508496 (496.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1663 bytes 508496 (496.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions
В моем случае в качестве интерфейса используется eth0. Вы можете игнорировать интерфейс lo (loopback ).
Чтобы добавить адрес к этому интерфейсу, вы просто настраиваете другой "под" интерфейс и назначаете ему адрес и сетевую маску. Например:
# ifconfig eth0:1 10.33.33.33 netmask 255.255.255.0 up
В результате появится новый интерфейс с именем «eth0 :1»:
# ifconfig -a
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.86 netmask 255.255.255.0 broadcast 192.168.1.255
ether 00:21:f6:41:94:37 txqueuelen 1000 (Ethernet)
RX packets 68268140 bytes 20871241191 (19.4 GiB)
RX errors 0 dropped 3485 overruns 0 frame 0
TX packets 5758341 bytes 843217718 (804.1 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.33.33.33 netmask 255.255.255.0 broadcast 10.33.33.255
ether 00:21:f6:41:94:37 txqueuelen 1000 (Ethernet)
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
loop txqueuelen 1 (Local Loopback)
RX packets 1663 bytes 508496 (496.5 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1663 bytes 508496 (496.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Затем на вашем хосте-мосте для интерфейса, который должен взаимодействовать с хостом 192.168.1.86, настройте этот интерфейс так, чтобы он также находился в сети 10.33.33.x (в этом примере )... скажем 10.33.33.1.
С этого момента вы больше не будете обращаться к хосту 192.168.1.86 по адресу 192.168.1.86... теперь он будет доступен по адресу 10.33.33.33.
Это должно устранить проблему, связанную с наличием одной и той же сети на двух интерфейсах вашего хоста-моста.
Чтобы сделать дополнительное определение интерфейса постоянным на хосте 192.168.1.86, вы должны добавить файл в сценарии /etc/sysconfig/network -с именем ifcfg -eth0 :1, который может иметь похожее содержимое. этому:
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=eth0
DEVICE=eth0:1
ONBOOT=yes
IPADDR=10.33.33.33
PREFIX=24
Обратите внимание, что в моем случае интерфейс был eth0. У вас может быть иначе, поэтому экстраполируйте по мере необходимости. Кроме того, в моем примере я использовал сеть 10.33.33.x, но вы должны убедиться, что указанная вами сеть не конфликтует где-либо еще в вашей среде. В целом сеть 10.x.x.x довольно безопасна,просто выберите неиспользуемую подсеть.
Предложение Йохана по использованию статического маршрута простое и понятное. Это оставит беспорядок, связанный с необходимостью ссылаться на одну и ту же сеть с обеих сторон хоста моста, но должно работать. Мое предложение выше поможет избавиться от «уродливой» проблемы двойной сети с практической точки зрения. Любой из них должен решить вашу дилемму.