Я не уверен, что правильно понял вашу диаграмму. :Все, что вам нужно сделать, это установить маршрут на сервер A так, чтобы пакеты, поступающие из любого из двух контейнеров, направлялись на сервер B, это правильно?
В любом случае, не используйте iptables
для маршрутизации. (Это меня раздражает, по какой-то причине люди все время пытаются использовать iptables
для маршрутизации. )Существуют альтернативы, например. политика маршрутизации.
Итак, в вашем случае что-то вроде
ip route add table 250 172.16.0.1/16 dev vpn scope link
ip route add table 250 default via 172.16.0.2
ip rule add from 172.16.0.3 table 250
ip rule add from 172.16.0.4 table 250
(untested )должно помочь. Существует множество онлайн-руководств по маршрутизации политик.
$ sed '$!N;/\n Mem/p;D' file
Amit:
Mem 30 40 50
Sumit:
Mem 50 70 80
Nishant:
Mem 90 20 45
$!N
:Для каждой строки, которая не является последней строкой, добавьте следующую строку в буфер с разделителем новой строки в -между ними.
/\n Mem/p
:Если теперь буфер содержит символ новой строки, за которым сразу следует строка Mem
(два пробела и Mem
), то напечатайте буфер. Вы также можете использовать [[:blank:]]*
вместо двух пробелов, чтобы разрешить любое количество пробелов или табуляций в начале строк Mem
.
D
:Удалить данные в буфере до первого символа новой строки включительно и начать следующий цикл.
Это будет общий код. Только присутствующая память напечатает предыдущую строку
awk '{a[++i]=$0}/Mem/{for(x=NR-1;x<=NR;x++)print a[x]}' file
выход
Amit:
Mem 30 40 50
Sumit:
Mem 50 70 80
Nishant:
Mem 90 20 45