Разбить один столбец на несколько строк, а затем отформатировать данные

Да, конечно!

iptablesправила применяются по порядку. Таким образом, вы можете начать с очень ограничительной политики для своей цепочки, а затем разрешить трафик на определенных портах.

Вы можете сначала установить политики CHAIN ​​по умолчанию, такие как :(, по умолчанию они установлены как ACCEPT)

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

Таким образом, вы настраиваете каждую ЦЕПЬ так, чтобы она отклоняла что-либо. Затем вы можете разрешить трафик только по одному порту или только по какому-то сегменту сети, как хотите:

iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

INPUT— это имя ЦЕПИ, для которой вы добавляете правило, -i— для указания того, к какому интерфейсу применяется правило(eth0в примере)-p— для указания протокола(tcp)в данном случае, с --dportвы указываете, на каком порту вы разрешаете трафик, -m stateдает указание брандмауэру смотреть на состояние соединения, это для того, чтобы вы могли использовать --state NEW,ESTABLISHED, которые являются двумя состояниями, в которых разрешено соединение, наконец, -j ACCEPTсообщает брандмауэру, что соединения, соответствующие ранее описанному правилу, будут приняты.

Поскольку ваш последний вопрос касается диапазонов IP-адресов и/или портов, способ сделать это с помощью правила--dport 80:10010(применяется к портам от 80 до 10010 ), а для диапазона IP-адресов вы можете использовать -m iprange --src-range 192.168.1.100-192.168.1.200, поэтому правило будет применяться к любому трафику, приходящему с любого ip в диапазоне 192.168.1.100 -192.168.1.200

Полный рабочий пример:

iptables -A INPUT -i eth0 -p tcp --dport 80:10010 -m iprange --src-range 192.168.1.100-192.168.1.200 -m state --state NEW,ESTABLISHED -j ACCEPT
-5
07.09.2020, 16:51
1 ответ

С достаточно свежей версией Миллера

$ ~/src/miller/c/mlr --ixtab --ips ':' --ocsvlite clean-whitespace then unsparsify yourfile
A,B,C
1,2,
3,2,8
,2,4

Если в ваших данных нет пробелов в конце, вы можете опустить clean-whitespace, и в этом случае будет достаточно старой версии mlr. Если у вас есть версия без clean-whitespace, но она нужна вашим данным, вы можете объединить ее с отдельным инструментом, напримерsed:

sed 's/ *$//' yourfile | mlr --ixtab --ips ':' --ocsvlite unsparsify
2
18.03.2021, 23:07

Теги

Похожие вопросы