У меня есть минимальная облачная конфигурация, которая без проблем работает в DigitalOcean. Я добавил некоторое усиление защиты для SSH, которое требует перезапуска sshd.socket
, чтобы вступить в силу:
units:
- name: sshd.socket
command: restart
Добавление только этого модуля (фактических изменений конфигурации sshd) приводит к сбою подготовки с той же облачной конфигурацией при попытке на Hetzner: ssh: подключиться к хосту xx.xx.xx.xx порт 22: соединение отклонено
. Тем не менее, он по-прежнему отлично подключается к DigitalOcean.
Когда я удаляю это устройство, подключение к машине Hetzner работает нормально, добавление его снова не удается.
Единственное различие между обеими платформами, о которых я знаю, заключается в том, что в DigitalOcean переменные $ public_ipv4
и $ private_ipv4
заменяются фактическими IP-адресами, чего не происходит при установке на «голое железо», такой как Hetzner.
Из документации CoreOS :
Примечание. Переменные подстановки $ private_ipv4 и $ public_ipv4, упомянутые в других документах, поддерживаются только в Amazon EC2, Google Compute Engine, OpenStack, Rackspace, DigitalOcean и Vagrant. .
Поэтому я заменяю переменные статическим IP-адресом. Я использую общедоступный IP-адрес, потому что это единственный доступный интерфейс, кроме loopback.
Однако, когда я инициализирую без замены этих переменных общедоступным IP-адресом, он ТАКЖЕ подключается нормально.
Проверка журнала выявляет некоторые ошибки, связанные с разрешением имен:
systemd[1]: Starting etcd2...
etcd2[874]: recognized and used environment variable ETCD_ADVERTISE_CLIENT_URLS=http://:2379,http://:4001
etcd2[874]: recognized and used environment variable ETCD_DATA_DIR=/var/lib/etcd2
etcd2[874]: recognized and used environment variable ETCD_DISCOVERY=https://discovery.etcd.io/616b3957c5c78e7738207011f9c51841
etcd2[874]: recognized and used environment variable ETCD_INITIAL_ADVERTISE_PEER_URLS=http://:2380
etcd2[874]: recognized and used environment variable ETCD_LISTEN_CLIENT_URLS=http://0.0.0.0:2379,http://0.0.0.0:4001
etcd2[874]: recognized and used environment variable ETCD_LISTEN_PEER_URLS=http://:2380
etcd2[874]: recognized and used environment variable ETCD_NAME=39b2a003672546f8a0b648dbc66e8f6f
etcd2[874]: etcd Version: 2.2.0
etcd2[874]: Git SHA: e4561dd
etcd2[874]: Go Version: go1.4.2
etcd2[874]: Go OS/Arch: linux/amd64
etcd2[874]: setting maximum number of CPUs to 1, total number of available CPUs is 12
etcd2[874]: listening for peers on http://:2380
etcd2[874]: listening for client requests on http://0.0.0.0:2379
etcd2[874]: listening for client requests on http://0.0.0.0:4001
etcd2[874]: resolving :2380 to :2380
etcd2[874]: resolving :2380 to :2380
etcd2[874]: error #0: dial tcp: lookup discovery.etcd.io: Temporary failure in name resolution
etcd2[874]: cluster status check: error connecting to https://discovery.etcd.io, retrying in 2s
etcd2[874]: error #0: dial tcp: lookup discovery.etcd.io: Temporary failure in name resolution
etcd2[874]: cluster status check: error connecting to https://discovery.etcd.io, retrying in 4s
etcd2[874]: found self 61dbc8c9c2aca1e8 in the cluster
etcd2[874]: found 1 needed peer(s)
Но они не кажутся фатальными: systemctl status etcd2.service
показывает, что служба активна:
core@localhost ~ $ systemctl status etcd2.service
● etcd2.service - etcd2
Loaded: loaded (/usr/lib64/systemd/system/etcd2.service; disabled; vendor preset: disabled)
Drop-In: /run/systemd/system/etcd2.service.d
└─20-cloudinit.conf
Active: active (running) since Tue 2016-03-22 14:10:33 UTC; 7min ago
Main PID: 874 (etcd2)
Memory: 20.3M
CPU: 1.771s
CGroup: /system.slice/etcd2.service
└─874 /usr/bin/etcd2
etcd2[874]: added local member 61dbc8c9c2aca1e8 [http://:2380] to cluster 216c373aaf11ccfa
systemd[1]: Started etcd2.
etcd2[874]: 61dbc8c9c2aca1e8 is starting a new election at term 1
etcd2[874]: 61dbc8c9c2aca1e8 became candidate at term 2
etcd2[874]: 61dbc8c9c2aca1e8 received vote from 61dbc8c9c2aca1e8 at term 2
etcd2[874]: 61dbc8c9c2aca1e8 became leader at term 2
etcd2[874]: raft.node: 61dbc8c9c2aca1e8 elected leader 61dbc8c9c2aca1e8 at term 2
etcd2[874]: published {Name:39b2a003672546f8a0b648dbc66e8f6f ClientURLs:[http://:2379 http://:4001]} to cluster 216c373aaf11ccfa
etcd2[874]: setting up the initial cluster version to 2.2
etcd2[874]: set the initial cluster version to 2.2
Контейнеры, которые подключаются к другие службы, такие как Logstash, не работают: схема http не принимает часть реестра:: 9200 (или неправильное имя хоста?)
Это урезанная облачная конфигурация, но она по-прежнему демонстрирует проблема (проверено).
#cloud-config
ssh_authorized_keys:
- "ssh-rsa A valid SSH key here"
write_files:
coreos:
etcd2:
# NOTE: replace $discovery_url with a url generated at https://discovery.etcd.io/new?size=X
discovery: $discovery_url
listen-client-urls: http://0.0.0.0:2379,http://0.0.0.0:4001
advertise-client-urls: http://my.public.ip.address:2379,http://my.public.ip.address:4001
initial-advertise-peer-urls: http://my.public.ip.address:2380
listen-peer-urls: http://my.public.ip.address:2380 # Remove this flag or use localhost and the connection issue goes away
units:
- name: etcd2.service
command: start
- name: fleet.service
command: start
- name: sshd.socket
command: restart # Remove this unit and all issues go away (but no SSH hardening in that case)
Я заметил одну вещь: когда я снимаю флаг listen-peer-urls
, проблема с подключением также исчезает, хотя logstash по-прежнему не запускается по той же причине. Например, когда вы используете iOS Mail, в Gmail отображается кнопка архива вместо кнопки удаления. ...
Я хотел бы архивировать почту в дополнение к возможности удалять электронную почту с помощью моего собственного почтового сервера. Например, когда вы используете iOS Mail, в Gmail отображается кнопка архива вместо кнопки удаления. Я бы тоже хотел иметь эту функцию на моем собственном сервере.
Что для этого требуется? Что и как мне нужно настроить, чтобы включить это?
Все поиски по этой теме приводили к некоторым руководствам по gmail, программному обеспечению Apple и другим вещам, но я не нашел ничего, что могло бы помочь.
Спасибо
Эта функция является частью почтового приложения на iOS, а не функцией Gmail. Если вы настроите ту же учетную запись Gmail как общую учетную запись imap, а не учетную запись Gmail, у нее не будет этой кнопки.