Многие пользуются для сохранения и восстановления правил iptables
парой утилит iptables-save
и iptables-restore
. Однако по умолчанию текстовый редактор Vim не умеет нормально подсвечивать текст файлов, с которыми работают эти утилиты. К счастью, это легко исправить.
Для начала надо убедиться, что у вас вообще включена подсветка синтаксиса в Vim. За неё отвечает строчка
syntax on
в файле /etc/vim/vimrc
.
Если обычный код подсвечивается, то дальше надо скачать с сайта Vim последнюю версию файла с правилами подсветки для iptables
:
Файл из скачанного архива нужно положить в каталог /usr/share/vim/vimcurrent/syntax/
.
Далее надо включить автоопределение нашего нового типа файлов. Сделать это можно, например, добавив в ~/.vimrc
(для текущего пользователя) или в /etc/vim/vimrc
(для всех пользователей) строчки:
if has("autocmd") " Включаем автоопределение синтаксиса iptables au BufNewFile,BufRead * if getline(1) =~ '^#!.*iptables-restore' || \ getline(1) =~ '^# Generated by iptables-save' || \ getline(1) =~ '^# Firewall configuration written by' | \ set ft=iptables | endif endif
Теперь файлы, сохранённые с помощью iptables-save
, будут красиво подсвечиваться.
Кроме того, код также будет подсвечиваться если вы используете хитрый трюк указания iptables-restore
как интерпретатора для выполнения скрипта с сохранёнными правилами, например:
#!/sbin/iptables-restore *filter :INPUT ACCEPT :FORWARD ACCEPT :OUTPUT ACCEPT COMMIT *nat :PREROUTING ACCEPT :POSTROUTING ACCEPT :OUTPUT ACCEPT # NAT для внутренней сети -A POSTROUTING -s 192.168.10.0/24 -o eth1 -j SNAT --to-source 192.168.0.2 COMMIT