Я часами исследую, как я могу автоматизировать сотни хостов, которые все под одним локальным доменом. (я на машине ubuntu linux 17.04)
Например, у меня есть node1.domain.org, node2.domain.org, и список идет на node100.domain.org
практически невозможно отредактировать файл / etc / hosts, добавив все псевдонимы вручную.
Например,
127.0.0.1 localhost
127.0.1.1 harish
добавление псевдонимов хостов вручную
10.2.1.3 node1.domain.org node1
Следующие строки желательны для хостов с поддержкой IPv6
:: 1 ip6-localhost ip6-loopback
fe00 :: 0 ip6-localnet
ff00 :: 0 ip6-mcastprefix
ff02 :: 1 ip6-allnodes
ff02 :: 2 ip6-allrouters
Я попробовал ip route | grep default
и обнаружил, что это шлюз 10.1.10.1, но не знаю, должен ли я быть на этом шлюзе или о каких-либо дальнейших шагах отсюда.
Я попробовал cat /etc/resolv.conf
и обнаружил DNS-сервер, который я использую
cat /etc/resolv.conf[1241 impressionDynamic resolv. НЕ РЕДАКТИРУЙТЕ ДАННЫЙ ФАЙЛ вручную - ВАШИ ИЗМЕНЕНИЯ БУДУТ ПЕРЕЗАПИСАННЫМИ 127.0.0.53 - это преобразователь заглушек с разрешением systemd. запустите "systemd-resolve --status", чтобы увидеть подробности о фактических серверах имен.
nameserver 10.2.254.254 nameserver 8.8.8.8 nameserver 127.0.0.53
search domain.com
Я обнаружил DNS, что все мои узлы используют
xcat node1 dns
SERVER: 10.2.254.254 # 53 (10.2.254.254)
И DNS удаленного узла, и мой локальный компьютер совпадают.
Однако нет подсказки, почему именно domain.com в файле resolve.conf, а не domain.org, поскольку все узлы находятся под domain.org, а не domain.com (но он сказал, что он перезапишется, когда я попытаюсь его отредактировать Я попытался запустить sudo /etc/init.d/networking restart или sudo service network-manager restart после обновления его до domain.org, и файл был перезаписан). Я заметил, что SSH может использовать все псевдонимы, такие как node1
, без использования node1.domain.
ssh node1 вместо ssh node1.domain.org
или
ssh node50 вместо ssh node50.domain.org
или
выполните ssh в любой узел, используя его псевдоним, не добавляя его вручную в / etc / hosts. Я просто хочу найти надежный способ сделать это.
Այո, օգտագործիր ~ / .ssh / config
Host bsd1
Hostname 10.9.9.2
User bsduser
Port 2243
Host web-backup
Hostname www-backup.example.com
User dauser
Port 2229
Ըստ էության, յուրաքանչյուր Host հայտարարությունից հետո կարող ես օգտագործել գրեթե ցանկացած տարբերակ, որը վավեր կլինի համակարգում-մակարդակ ssh_config
Ապա պարզապես ssh- ի ցանկացած հատկորոշիչի համար, որը պետք է անեք -
user@darkstar:~/ $ ssh web-backup
dauser@www-backup.example.com's password:
Իհարկե, օգտագործեք ձեր ssh հաճախորդի կազմաձևը (~ / .ssh / կազմաձև):
Host node1
Hostname node1.domain.org
Честно говоря, это легко.
В ~/.ssh/config
:
Host node* server*
Hostname %h.domain.org
Теперь каждый "узел" и "сервер" привязан к домену.
$ ssh node04
--> $ ssh node04.domain.org
$ ssh server12
--> $ ssh server12.domain.org