This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
настройка_стендов_слушателей [2018/07/12 14:52] val |
настройка_стендов_слушателей [2020/08/22 15:00] (current) val [Общие файлы конфигурации] |
||
---|---|---|---|
Line 8: | Line 8: | ||
==== Общие файлы конфигурации ==== | ==== Общие файлы конфигурации ==== | ||
- | === Debian/Ubuntu/FreeBSD === | + | === Debian/Ubuntu === |
<code> | <code> | ||
Line 30: | Line 30: | ||
==== Debian/Ubuntu ==== | ==== Debian/Ubuntu ==== | ||
+ | |||
+ | * [[Настройка сети в Linux]] | ||
=== Gate === | === Gate === | ||
Line 133: | Line 135: | ||
===== Скрипты автоконфигурации ===== | ===== Скрипты автоконфигурации ===== | ||
+ | <code> | ||
+ | # git clone http://val.bmstu.ru/unix/conf.git | ||
+ | </code> | ||
==== gate.corpX.un ==== | ==== gate.corpX.un ==== | ||
<code> | <code> | ||
Line 176: | Line 181: | ||
netmask 255.255.255.0 | netmask 255.255.255.0 | ||
gateway 172.16.1.254 | gateway 172.16.1.254 | ||
+ | |||
+ | #auto eth2 | ||
+ | #iface eth2 inet static | ||
+ | # address 192.168.$((100+$X)).1 | ||
+ | # netmask 255.255.255.0 | ||
EOF | EOF | ||
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf | echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf | ||
+ | |||
+ | timedatectl set-timezone Europe/Moscow | ||
echo Success | echo Success | ||
Line 224: | Line 236: | ||
gateway 192.168.$X.1 | gateway 192.168.$X.1 | ||
EOF | EOF | ||
+ | |||
+ | timedatectl set-timezone Europe/Moscow | ||
echo Success | echo Success | ||
Line 246: | Line 260: | ||
echo 'INTERFACES="eth0"' > /etc/default/isc-dhcp-server | echo 'INTERFACES="eth0"' > /etc/default/isc-dhcp-server | ||
+ | echo '#INTERFACES="eth0 eth2"' >> /etc/default/isc-dhcp-server | ||
cat > /etc/dhcp/dhcpd.conf <<EOF | cat > /etc/dhcp/dhcpd.conf <<EOF | ||
ddns-update-style none; | ddns-update-style none; | ||
- | log-facility local7; | + | default-lease-time 600; |
+ | max-lease-time 7200; | ||
+ | |||
+ | option domain-name "corp$X.un"; | ||
+ | option domain-name-servers 192.168.$X.10; | ||
#### For provisioning #### | #### For provisioning #### | ||
#option tftp-server-name code 66 = string; # RFC 2132 | #option tftp-server-name code 66 = string; # RFC 2132 | ||
#option tftp-server-address code 150 = ip-address; # RFC 5859 | #option tftp-server-address code 150 = ip-address; # RFC 5859 | ||
+ | #option tftp-server-name "server.corp$X.un"; | ||
+ | #option tftp-server-address 192.168.$X.10; | ||
- | subnet 192.168.$X.0 netmask 255.255.255.0 { | ||
- | default-lease-time 600; | ||
- | max-lease-time 7200; | ||
- | range 192.168.$X.101 192.168.$X.199; | ||
- | option routers 192.168.$X.1; | ||
- | option domain-name "corp$X.un"; | ||
- | option domain-name-servers 192.168.$X.10; | ||
- | |||
- | #### For provisioning #### | ||
- | # option tftp-server-name "server.corp$X.un"; | ||
- | # option tftp-server-address 192.168.$X.10; | ||
+ | shared-network LAN1 { | ||
+ | subnet 192.168.$X.0 netmask 255.255.255.0 { | ||
+ | range 192.168.$X.101 192.168.$X.199; | ||
+ | option routers 192.168.$X.1; | ||
+ | } | ||
} | } | ||
+ | |||
+ | #shared-network LAN2 { | ||
+ | # subnet 192.168.$((100 + $X)).0 netmask 255.255.255.0 { | ||
+ | # range 192.168.$((100 + $X)).101 192.168.$((100 + $X)).199; | ||
+ | # option routers 192.168.$((100 + $X)).1; | ||
+ | # } | ||
+ | #} | ||
+ | |||
+ | |||
EOF | EOF | ||
Line 302: | Line 326: | ||
172.16.1.254; | 172.16.1.254; | ||
}; | }; | ||
+ | empty-zones-enable no; | ||
}; | }; | ||
Line 328: | Line 353: | ||
@ SOA ns root.ns 1 1d 12h 1w 3h | @ SOA ns root.ns 1 1d 12h 1w 3h | ||
NS ns | NS ns | ||
+ | |||
+ | A 192.168.$X.10 | ||
+ | MX 1 server | ||
ns A 192.168.$X.10 | ns A 192.168.$X.10 | ||
Line 358: | Line 386: | ||
echo Success | echo Success | ||
exit 0 | exit 0 | ||
+ | </code> | ||
+ | |||
+ | ===== Ansible конфигурация ===== | ||
+ | |||
+ | <code> | ||
+ | # git clone http://val.bmstu.ru/unix/conf.git | ||
+ | </code> | ||
+ | |||
+ | <code> | ||
+ | server.isp.un:~/ansible/roles# cat host.yml | ||
+ | </code><code> | ||
+ | - name: Network config for hosts | ||
+ | hosts: corp | ||
+ | strategy: free | ||
+ | roles: | ||
+ | - host | ||
+ | </code><code> | ||
+ | server.isp.un:~/ansible/roles# cat host/tasks/main.yml | ||
+ | </code><code> | ||
+ | - name: Create hosts file | ||
+ | template: src=hosts.j2 dest=/etc/hosts | ||
+ | |||
+ | - name: Create resolv.conf file | ||
+ | template: src=resolv.conf.j2 dest=/etc/resolv.conf | ||
+ | |||
+ | - name: Create hostname file | ||
+ | template: src=hostname.j2 dest=/etc/hostname | ||
+ | |||
+ | - name: Create interfaces file | ||
+ | template: src=interfaces.j2 dest=/etc/network/interfaces | ||
+ | |||
+ | #- name: Restart system | ||
+ | # command: shutdown -r +1 | ||
+ | </code><code> | ||
+ | server.isp.un:~/ansible/roles# cat host/vars/main.yml | ||
+ | </code><code> | ||
+ | hostname: server | ||
+ | #hostname: mail | ||
+ | base_domain_prefix: corp | ||
+ | base_domain_suffix: un | ||
+ | base_net: 172.16.1 | ||
+ | gateway_octet: 254 | ||
+ | dns_ip: 172.16.1.254 | ||
+ | X: "{{ ansible_eth0.ipv4.address.split('.')[3] }}" | ||
+ | #X: "{{ ansible_eth0.ipv4.address.split('.')[3] | int - 100 }}" | ||
+ | </code><code> | ||
+ | server.isp.un:~/ansible/roles# cat host/templates/hosts.j2 | ||
+ | </code><code> | ||
+ | 127.0.0.1 localhost | ||
+ | |||
+ | {{ ansible_eth0.ipv4.address }} {{ hostname }}.{{ base_domain_prefix }}{{ X }}.{{ base_domain_suffix }} {{ hostname }} | ||
+ | |||
+ | {{ base_net }}.254 rep | ||
+ | </code><code> | ||
+ | server.isp.un:~/ansible/roles# cat host/templates/resolv.conf.j2 | ||
+ | </code><code> | ||
+ | search {{ base_domain_prefix }}{{ X }}.{{ base_domain_suffix }} | ||
+ | nameserver {{ dns_ip }} | ||
+ | </code><code> | ||
+ | server.isp.un:~/ansible/roles# cat host/templates/hostname.j2 | ||
+ | </code><code> | ||
+ | {{ hostname }}.{{ base_domain_prefix }}{{ X }}.{{ base_domain_suffix }} | ||
+ | </code><code> | ||
+ | server.isp.un:~/ansible/roles# cat host/templates/interfaces.j2 | ||
+ | </code><code> | ||
+ | auto lo | ||
+ | iface lo inet loopback | ||
+ | |||
+ | auto eth0 | ||
+ | iface eth0 inet static | ||
+ | address {{ ansible_eth0.ipv4.address }} | ||
+ | netmask 255.255.255.0 | ||
+ | gateway {{ base_net }}.{{ gateway_octet }} | ||
+ | </code><code> | ||
+ | root@server:~/ansible/roles# ansible-playbook host.yml | ||
+ | |||
+ | или | ||
+ | |||
+ | root@server:~# ansible-playbook ansible/roles/host.yml | ||
</code> | </code> |