mod
parent
c2ef43b47d
commit
3ba1ffcd48
85
iptables.md
85
iptables.md
|
@ -23,42 +23,59 @@
|
|||
|
||||
основные действия с правилами:
|
||||
|
||||
`-A` - добавить правило в цепочку;
|
||||
`-С` - проверить все правила;
|
||||
`-D` - удалить правило;
|
||||
`-I` - вставить правило с нужным номером;
|
||||
`-L` - вывести все правила в текущей цепочке;
|
||||
`-S` - вывести все правила;
|
||||
`-F` - очистить все правила;
|
||||
`-N` - создать цепочку;
|
||||
`-X` - удалить цепочку;
|
||||
`-P` - установить действие по умолчанию.
|
||||
- `-A` - добавить правило в цепочку;
|
||||
- `-С` - проверить все правила;
|
||||
- `-D` - удалить правило;
|
||||
- `-I` - вставить правило с нужным номером;
|
||||
- `-L` - вывести все правила в текущей цепочке;
|
||||
- `-S` - вывести все правила;
|
||||
- `-F` - очистить все правила;
|
||||
- `-N` - создать цепочку;
|
||||
- `-X` - удалить цепочку;
|
||||
- `-P` - установить действие по умолчанию.
|
||||
|
||||
Условия:
|
||||
|
||||
`-p` - протокол (TCP, UDP, ICMP, ALL);
|
||||
`-s` - ip адрес источника (можно с маской 10.0.0.0/24), допускается отрицание (т.е. все кроме) `-s ! 10.0.0.0/24`;
|
||||
`-d` - ip адрес получателя (аналогично `-s`);
|
||||
`-i` - интерфейс с которого пришел пакет (только для `INPUT`, `FORWARD`, `PREROUTING`), например `ens3`, допускается указать `ens+` что означает все имена интерфейсов начинающиеся с заданной строки, допускается отрицание `-i ! ens+`;
|
||||
`-o` - интерфейс локального хоста, из которого выходит трафик (только для `OUTPUT`, `FORWARD`, `PREROUTING`);
|
||||
`--sport` - порт с которого был отправлен TCP/UDP пакет (допускаются имена служб из /etc/services), поддерживаются диапазоны вида 20:80 что значит от 20 до 80 порта, так же можно опустить одно из значений :80 (от 0 до 80) или 20: (от 20 до 65535), отрицание поддерживается даже к диапазонам --sport ! 20:80
|
||||
--dport - аналогично --sport только речь идет про порт, которому адресован пакет
|
||||
--icmp-type - тип ICMP сообщения (номер или название), поддерживается отрицание. RFC 792 или iptables --protocol icmp --help
|
||||
-m mac --mac-source - MAC адрес устройства передавшего пакет, поддерживается отрицание
|
||||
-m state --state - состояние соединения:
|
||||
INVALID - неизвестное соединение, возможно ошибочное
|
||||
NEW - новое соединение
|
||||
ESTABLISHED - уже установленное соединение
|
||||
RELATED - пакет принадлежит уже существующему соединению, но он отправляется по новому
|
||||
-m ttl - Time To Live:
|
||||
--ttl-eq N - TTL пакета равен N
|
||||
--ttl-lt N - TTL пакета меньше N
|
||||
--ttl-gt N - TTL пакета больше N
|
||||
- `-p` - протокол (TCP, UDP, ICMP, ALL);
|
||||
- `-s` - ip адрес источника (можно с маской 10.0.0.0/24), допускается отрицание (т.е. все кроме) `-s ! 10.0.0.0/24`;
|
||||
- `-d` - ip адрес получателя (аналогично `-s`);
|
||||
- `-i` - интерфейс с которого пришел пакет (только для `INPUT`, `FORWARD`, `PREROUTING`), например `ens3`, допускается указать `ens+` что означает все имена интерфейсов начинающиеся с заданной строки, допускается отрицание `-i ! ens+`;
|
||||
- `-o` - интерфейс локального хоста, из которого выходит трафик (только для `OUTPUT`, `FORWARD`, `PREROUTING`);
|
||||
- `--sport` - порт с которого был отправлен TCP/UDP пакет (допускаются имена служб из `/etc/services`), поддерживаются диапазоны вида `20:80` что значит от 20 до 80 порта, так же можно опустить одно из значений `:80` (от 0 до 80) или `20:` (от 20 до 65535), отрицание поддерживается даже к диапазонам `--sport ! 20:80`;
|
||||
- `--dport` - аналогично `--sport` только речь идет про порт, которому адресован пакет;
|
||||
- `--icmp-type` - тип ICMP сообщения (номер или название), поддерживается отрицание. RFC 792 или `iptables --protocol icmp --help`;
|
||||
- `-m mac --mac-source` - MAC адрес устройства передавшего пакет, поддерживается отрицание;
|
||||
- `-m state --state` - состояние соединения:
|
||||
- `INVALID` - неизвестное соединение, возможно ошибочное;
|
||||
- `NEW` - новое соединение;
|
||||
- `ESTABLISHED` - уже установленное соединение;
|
||||
- `RELATED` - пакет принадлежит уже существующему соединению, но он отправляется по новому
|
||||
- `-m ttl` - Time To Live:
|
||||
- `--ttl-eq N` - TTL пакета равен N;
|
||||
- `--ttl-lt N` - TTL пакета меньше N;
|
||||
- `--ttl-gt N` - TTL пакета больше N
|
||||
|
||||
Действия:
|
||||
|
||||
ACCEPT - пакет принят в текущей таблице
|
||||
DROP - пакет сбрасывается и перестает движение в системе
|
||||
LOG - пакет журналируется и продолжает дальнейшие движение по цепочке правил и таблицам (рассмотрим ниже)
|
||||
REJECT - аналогично DROP только отдает сообщение об ошибке на хост отправителя (работает на всех цепочках таблицы filter):
|
||||
--reject-with - тип ответа, RFC 793 или iptables -j REJECT -h
|
||||
RETURN - возврат пакета в вышестоящую цепочку для применения действия по умолчанию, при отсутствии вышестоящей цепочки применится действие по умолчанию
|
||||
- `ACCEPT` - пакет принят в текущей таблице;
|
||||
- `DROP` - пакет сбрасывается и перестает движение в системе;
|
||||
- `LOG` - пакет журналируется и продолжает дальнейшие движение по цепочке правил и таблицам (рассмотрим ниже)
|
||||
- `REJECT` - аналогично DROP только отдает сообщение об ошибке на хост отправителя (работает на всех цепочках таблицы filter):
|
||||
- `--reject-with` - тип ответа, RFC 793 или `iptables -j REJECT -h`
|
||||
- `RETURN` - возврат пакета в вышестоящую цепочку для применения действия по умолчанию, при отсутствии вышестоящей цепочки применится действие по умолчанию
|
||||
|
||||
## Примеры
|
||||
|
||||
- Просмотр текущих правил
|
||||
|
||||
```bash
|
||||
iptables -L
|
||||
```
|
||||
|
||||
более наглядно
|
||||
|
||||
```bash
|
||||
iptables -vnL --line-numbers
|
||||
```
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue