Один из способов - использовать read
, чтобы разбить строку на первое слово и остальные, а затем вызвать rev
только для первого слова
$ echo "a,b,c,d Access" | { read -r first rest; printf '%s %s\n' "$(rev <<< "$first")" "$rest"; }
d,c,b,a Access
предполагается, IP_EXT1
и IP_Ext2
являются внешними IP-адресами для соответственно машин # 1 и № 2 и IP_Int1
и IP_int2
их соответствующие внутренние IP-адреса.
IP_Ext1
и IP_Ext2
на самом деле являются адресами маршрутизации машины, либо псевдонимами для одного и того же сетевого интерфейса или двух различных интерфейсов.
Затем конфигурация iptables на машине маршрутизации должна быть такой простой, как (непроверенная):
iptables -t nat -A POSTROUTING --destination $IP_EXT1 -j DNAT --to-destination $IP_INT1
iptables -t nat -A POSTROUTING --source $IP_INT1 -j SNAT --to-source $IP_EXT1
iptables -t nat -A POSTROUTING --destination $IP_EXT2 -j DNAT --to-destination $IP_INT2
iptables -t nat -A POSTROUTING --source $IP_INT2 -j SNAT --to-source $IP_EXT2