Linux как маршрутизатор для пересылки

Вам нужна опция extendedglobдля (#b).

Также 05 + 1дает 6, а не 06.

Вы можете сделать (с extendedglobиhistsubstpattern)

^(#b)E(<->)^E${(l:2::0:)$((match[1]+1))}

или:

echo ${_//(#b)E(<->)/${(l:2::0:)$((match[1]+1))}
  • <->является формой оператора сопоставления <x-y>положительных десятичных чисел, в котором обе границы опущены, поэтому соответствует любая не-пустая последовательность десятичных цифр. То же, что и [0-9]##(, но для ##требуется расширенный -глобус, а для <x-y>нет ).
  • (l:2::0:)(обратите внимание, что это строчная буква L, а не цифра 1)— это левый -флаг расширения параметра заполнения, здесь с 0s, длиной 2.
-4
07.06.2021, 18:27
2 ответа

Выглядит просто, но это не так. Поверьте мне!

Конфигурация на стороне сервера [ПК _A]

[ПК _A@PC _A ~] #nano /etc/sysctl.conf net.ipv4.ip _вперед = 1

[ПК _A@PC _A ~] #iptables -t nat -A POSTROUTING ! -d 192.168.1.127/27 -o ens160 -j МАСКАРАД

Конфигурация на стороне клиента [ПК _B]

ПК _B является экземпляром Openstack. Его частный IP-адрес — 192.168.118.10/27, а общедоступный IP-адрес — 192.168.1.140/27.

Проблема :[PC _B@PC _B ~]$ sudo route add default gw 192.168.1.133 eth0

SIOCADDRT :Сеть недоступна

[ПК _B@PC _B ~]$ маршрут

хост по умолчанию -192 -168 -10 0.0.0.0 UG 0 0 0 eth0

192.168.118.0 0.0.0.0 255.255.255.240 U 0 0 0 eth0

Почему «SIOCADDRT :Сеть недоступна»?Как я уже упоминал общедоступный IP-адрес ПК _B — 192.168.1.140/27 [экземпляр OpenStack], а его частный IP-адрес — 192.168.118.10/27.

0
28.07.2021, 11:26

Если ПК _B не имеет прямого доступа к сети 192.168.1. *, то недостающий маршрут необходимо добавить в сетевые настройки OpenStack, а не в ПК _B как таковой.

0
28.07.2021, 11:26

Теги

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