Различия



Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.

Ссылка на это сравнение

wiki:ustanovka_programm_avtozapusk_programm_pravila_iptables [2013/04/07 11:10]
zyxmon [Автозапуск программ]
wiki:ustanovka_programm_avtozapusk_programm_pravila_iptables [2013/10/10 18:32] (текущий)
c61 [Правила файрвола iptables]
Строка 47: Строка 47:
 ===== Правила файрвола iptables ===== ===== Правила файрвола iptables =====
  
-Если к установленным демонам нужно дать доступ из интернета (WAN), то потребуется создать дополнительные правила проброса портов, используя установленный в Keenetic файрвол ''iptables''. Правила проброса могут быть расположены непосредственно в скриптах ''S??*'' или в скриптах, расположенных в папке ''/media/DISK_A1/system/etc/firewall.d''. +Обычно к установленным демонам (сервисам) нужно дать доступ из сети интернет. Для этого потребуется создать дополнительные правила проброса портов, используя установленный в Keenetic файрвол ''iptables''. Правила проброса могут быть расположены непосредственно в скриптах запуска сервисов ''S??*'' и/или в скриптах, расположенных в папке ''/media/DISK_A1/system/etc/firewall.d''. 
  
-Правильнее такие правила размещать в скрипте в папке ''firewall.d''. Дело в том, что при разрыве сессии соединения с Интренет правила iptables сбрасываютсяи создаются заново при подъеме соединения. Правила при подъеме соединения в скриптах ''S??*'' не выполняются, а в скриптах в папке ''firewall.d'' выполняются.+При разрыве подключения к сети интернет правила ''iptables'' сбрасываются и создаются заново при восстановлении подключения. Если правило ''iptables'' находится в скрипте ''S??*'', то заново оно не будет создано. Поэтому правила правильнее размещать в скрипте в папке ''firewall.d''. Скрипты из папки ''firewall.d'' будут вызваны при восстановлении соединения
 + 
 +Учтите, что скрипты в папке ''firewall.d'' не будут выполнены, когда Вы подключаете носитель к USB (при этом выполнятся скрипты ''S??*'' из папки ''init.d''), а только в момент подключения к сети интернет.
  
 Очень часто нужно, чтобы установленные на кинетике программы взаимодействовали между собой по сети. Для этого необходимо выполнение правила Очень часто нужно, чтобы установленные на кинетике программы взаимодействовали между собой по сети. Для этого необходимо выполнение правила
  
   iptables -I INPUT -i lo -j ACCEPT   iptables -I INPUT -i lo -j ACCEPT
 +  
 +Пример файла ''/media/DISK_A1/system/etc/firewall.d/fw.sh''
 +
 +  #!/bin/sh
 +  # Разрешаем внутрисетевой обмен
 +  iptables -I INPUT -i lo -j ACCEPT
 +  # Разрешаем доступ по ssh из интернет на порт tcp 22
 +  iptables -A INPUT -p tcp --dport 22 -j ACCEPT
 +  
 +Файл ''fw.sh'' должен иметь атрибут исполнения и заканчиваться символом конец строки.
 +
 +Поскольку некоторые сервисы Вы наверняка будете перезапускать вручную, проводя эксперименты по изменению настроек, правила iptables имеет смысл дублировать в ''fw.sh''. Так, например, для ''lighttpd'' запись в ''S50lighttpd'' (если ''$PORT_F'' равен 80):
 +
 +  iptables -A INPUT -p tcp --dport $PORT_F -j ACCEPT
 +
 +требует добавления записи в ''fw.sh'':
 +
 +  # Разрешаем доступ по http из интернет на порт tcp 80
 +  iptables -A INPUT -p tcp --dport 80 -j ACCEPT
 +
 +Если этого не сделать, высока вероятность того, что Ваш сервер ''lighttpd'' окажется недоступен из интернет при медленном установлении соединения с провайдером во время старта или после разрыва и последующего восстановления соединения.
 +