Если да:
sed -n -e '1,/RECOMMENDED/ p' \
-e '/STATIC/,$ {p;d;}' \
-e "/RECOMMENDED/ r $TEXT_FILE" < "$ORIGINAL_FILE" > "$NEW_FILE"
Тогда /RECOMMENDED/
не будут совпадать после строк, совпадающих с /STATIC/
, так как мы d удаляем их после печати.
Вы поменяли местами внутренний и внешний интерфейсы в правилах FORWARD. В вашей настройке
-A FORWARD -i ens33 -o ens34 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i ens34 -o ens33 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
входящий пакет от ens33
, который хочет открыть соединение (с машины Ubuntu, я предполагаю, что )будет соответствовать первой строке. Но соединения нет, и пакет будет отклонен последней строкой.
Вам нужно
-A FORWARD -i ens34 -o ens33 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i ens33 -o ens34 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
или даже лучше, создайте сценарий оболочки с такими заполнителями:
INTIF=ens33
EXTIF=ens34
# flush rules
iptables -F FORWARD
iptables -t nat -F
# rules
iptables -A FORWARD -i $EXTIF -o $INTIF -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INTIF -o $EXTIF -j ACCEPT
iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited
iptables -t nat -A POSTROUTING -o $EXTIF -j MASQUERADE
# more rules if required
Затем вы можете повторно -использовать его в разных ситуациях с разными интерфейсами, не запутавшись.
Я понятия не имею, что вы пытаетесь сделать в цепочке INPUT; Я предлагаю удалить все эти правила, чтобы упростить отладку. Если переадресация работает без этих правил, и вам все еще нужно сделать что-то конкретное в цепочке INPUT, задайте новый вопрос.