правила iptables - ввод и вывод

Последние несколько месяцев я учусь писать сценарии бэша. Что я узнал, так это то, что в bash нет булевых переменных. Однако, это не значит, что нет никаких булевых значений.

If/then ищет 1 или 0. Now.... здесь предостережение: 0 - правда, а все остальное - ложь. Например, когда вы проверяете, существует ли непосредственно a, результат возвращается как 0, а не 1.

Если вы получите какой-либо код ошибки от вызываемой функции, вы можете поймать эту ошибку в ловушку.

Итак, попробуйте вместо этого:

FLAG_Control=1
if [ $FLAG_Control ] && [ -d /path/to/dir ];then
   echo "Run script.."
fi
0
29.03.2014, 01:18
2 ответа
[116321] Вы можете использовать [116660]tcpdump[116661] для того, чтобы узнать, как далеко идут ваши пинги:

Более того, недостаточно разрешить пинги на сервере; ноутбуки должны быть настроены так, чтобы они знали, что могут достичь другого через сервер (маршрутизацию).

Вероятно, в вашем брандмауэре есть правило, которое разрешает пакеты, которые являются ответом. Если нет, то вам также нужно

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

  1. Последняя проблема - это сами ноутбуки: Если хотя бы у одного из них есть свой брандмауэр, то он может блокировать пинг (вообще или из-за адреса источника вне сети интерфейсов)[116330].
0
28.01.2020, 05:00
[116361] По умолчанию, вам не нужны никакие правила, так как цепочки сетевых фильтров пустые с политикой по умолчанию [116698]ACCEPT[116699]. Если вы уже добавили правила, то для разрешения ping through вам понадобятся правила, добавленные в цепочку [116700]FORWARD[116701].

  1. Вам также нужно будет настроить сервер в качестве маршрутизатора и убедиться, что каждый ноутбук имеет сервер в качестве маршрута по умолчанию (или, по крайней мере, иметь маршрут для подсети другого ноутбука).
  2. Для включения маршрутизации (IP переадресация) необходимо установить [116702]/proc/sys/net/ipv4/ip_forward[116703] на [116704]1[116705]. В Ubuntu должен быть [116706]/etc/sysctl.conf[116707], где в [116708]/proc/sys[116709] можно установить элементы автоматически:
  3. Если вы измените это, то вам нужно будет загрузить изменения в ядро:
  4. Изменение будет автоматически загружено при следующей загрузке, так что вам нужно будет запустить эту команду вручную только один раз после изменения [116710]/etc/sysctl.conf[116711].[116370].
0
28.01.2020, 05:00

Теги

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