Передать интерфейс Ethernet в правило iptables в ansible playbook

Я пишу довольно простую обучающую книгу для настройки нашего межсетевого экрана iptables в centos. Вот инструкция, которую я написал:

---
- hosts: test
  remote_user: deploy
  sudo: True
  tasks:
  - name: Get iptables rules
    shell: /sbin/iptables -L
    register: iptablesrules
    always_run: yes
  - name: Add nginx iptables rule
    command: /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT -m comment --comment "Nginx_HTTP"
    when: iptablesrules.stdout.find("Nginx_HTTP") == -1
  - name: Add nginx ssl iptables rule
    command: /sbin/iptables -I INPUT -p tcp --dport 443 -j ACCEPT -m comment --comment "Nginx_SSL"
    when: iptablesrules.stdout.find("Nginx_SSL") == -1
  - name: Add postgres rule on ham0 interface
    command: /sbin/iptables -I INPUT -p tcp -s 0/0 --sport 1024:65535 -d 0.0.0.0/0 --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT -m comment --comment "Postgres"
    when: iptablesrules.stdout.find("Postgres") == -1
  - name: save iptables
    command: service iptables save
  - name: ensure iptables is set to start at boot
    action: command /sbin/chkconfig iptables on

Все работает, как ожидалось, хотя я уверен, что это может быть лучше. Но мой вопрос касается правила Постгреса. Я хочу динамически заменить адрес назначения 0.0.0.0/0 на IP-адрес определенного интерфейса (ham0) в целевом поле. Я предполагаю, что могу сделать что-то вроде ansible_ham0.ipv4.address, чтобы получить IP-адрес. Но я не уверен, как передать это в правило Postgress в качестве переменной.

Я читаю документацию, и мне это немного сложно. Я буду продолжать исследования, но тем временем, если у кого-то есть идея, как это сделать, я был бы очень признателен за помощь. Я не буду брать в расчет relatime и подобные, так как я не считаю, что эти параметры atime уместны здесь.

  • Есть ли какие-либо важные и существенные различия между разделом ext2 и разделом ext3 с отключенным журналированием для раздела / boot ? Я считаю, что рост онлайн-файловой системы и htrees совершенно бесполезны для раздела / boot, и я не вижу, что еще ext3 предлагает по сравнению с ext2.

  • Будет ли "синхронизироваться" вариант, который следует рекомендовать, если нет ведения журнала?

  • Отличается ли какая-либо из этих настроек от остальных с точки зрения простоты администрирования в случае сбоя / паники / упа или производительности?

  • Есть ли какой-либо общий консенсус по поводу Тип раздела / формата для такого маленького (512 МБ) / загрузочного раздела должен быть?

1
задан 12 January 2016 в 11:44
1 ответ

С функциональной точки зрения ext3 является ext2 + журналируемым.
Использование ext3 без журналирования означает использование файловой системы ext2, но с более новой кодовой базой (ext3).

Однако нет причин, по которым вы не можете использовать ext4 в качестве загрузочного раздела, поскольку Grub поддерживает его с годами

Ограничение в 512 МБ для загрузочного раздела - это пережиток очень старого BIOS, который не может загружаться с раздела, размер которого превышает 512 МБ. Вы не можете использовать любой размер загрузочного раздела, но все, что превышает 512-1024 МБ, является излишним.

2
ответ дан 3 December 2019 в 20:43

Теги

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