Wednesday, October 16, 2019

Принятие политик iptable после перезагрузки сервера


Важное дополнение. Необходимо после перезагрузки сервера оставлять все свои политики, а не применять их снова. Для меня удобным способом является использование пакета iptables-persistent

Первым делом устанавливаем сам пакет
apt-get install iptables-persistent
Затем сохраняем все настройки в нужную директорию, откуда они будут подтягиваться
iptables-save > /etc/iptables/rules.v4ip6tables-save > /etc/iptables/rules.v6
Вот и все. Теперь после каждой перезагрузки у нас будут подгружаться наши настройки

Настройка iptables в Ubuntu

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

Для начала, нам необходимо понять, что у нас доступно, а что нет. Проверяется командой
sudo iptables -L
Мы удостоверились, что на только что установленой ОС открыто все возможное. Нам нужно все эти конфигурации удалить
sudo iptables -F
Теперь самое интересное - нам нужно открыть все порты на локальном интерфейсе, для того, чтобы внутри сервера все работало без сбоев
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
Также накопал важную строчку в процессе конфигурации. Необходимо разрешать уже открытым соединениям завершать работу (не блокировать)
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Как только предварительные действия совершили, нужно открыть необходимые порты (мы открываем 22, 80, 8080, 443)
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Теперь, чтобы все это заработало, необходимо поменять политику по умолчанию на DROP
sudo iptables -P INPUT DROP

Saturday, October 12, 2019

Docker. Шпаргался по командам


  • FROM — задаёт базовый (родительский) образ.
  • LABEL — описывает метаданные. Например — сведения о том, кто создал и поддерживает образ.
  • ENV — устанавливает постоянные переменные среды.
  • RUN — выполняет команду и создаёт слой образа. Используется для установки в контейнер пакетов.
  • COPY — копирует в контейнер файлы и папки.
  • ADD — копирует файлы и папки в контейнер, может распаковывать локальные .tar-файлы.
  • CMD — описывает команду с аргументами, которую нужно выполнить когда контейнер будет запущен. Аргументы могут быть переопределены при запуске контейнера. В файле может присутствовать лишь одна инструкция CMD.
  • WORKDIR — задаёт рабочую директорию для следующей инструкции.
  • ARG — задаёт переменные для передачи Docker во время сборки образа.
  • ENTRYPOINT — предоставляет команду с аргументами для вызова во время выполнения контейнера. Аргументы не переопределяются.
  • EXPOSE — указывает на необходимость открыть порт.
  • VOLUME — создаёт точку монтирования для работы с постоянным хранилищем.

Wednesday, October 9, 2019

Создание ветки, если много удаленных репозиториев в git

Всем привет! 

Давайте представим, что по определенным причинам нам необходимо держать несколько удаленных репозиторием.  А именно помимо классического origin, у нас еще есть portal и downgrade репозитории

Нам нужно создать бранч от репозитория downgrade. Для этого мы должны просто указать в каком месте находится данный репозиторий. Делается это простой командой

git checkout -b mybranch downgrade/mybranch

Tuesday, October 1, 2019

Как переименовать ветку в git

Сегодняшняя заметка о том, каким образом можно переименовать текущую ветку и продолжить работать в переименованной ветке. Выполняется это простыми командами. Для начала нужно
git branch -m new-name
Таким образом мы переименовываем текущий бранч или можно сделать иначе
git checkout master
git branch -m old-name new-name
После этого нужно удаленно тоже все подчистить
git push origin :old-name new-name
git push origin -u new-name