scripts bash
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
cat hosts.txt.ssh ------------------ 192.168.1.1 192.168.1.2 192.168.1.3 ------------------ cat resolv.conf ---------------- nameserver 192.168.1.1 ---------------- #Копируем настройки DNS #scp resolv.conf for i in `cat hosts.txt.ssh`; do scp resolv.conf ${i}:/etc/resolv.conf; done #Устанавливаем python for ansible for i in `cat hosts.txt.ssh`; do ssh $i opkg update ; done for i in `cat hosts.txt.ssh`; do ssh $i opkg install python3-light python3-multiprocessing python3-distutils openssh-sftp-server python3-logging; done #Ставим snmpd for i in `cat hosts.txt.ssh`; do ssh $i opkg install snmpd; done #MAC # parse MAC for i in `cat hosts.txt | tail -n 39 | grep -v "#"`; do ssh $i ip a | grep ether | awk '{print $2}' && echo ; done # parse MAC print host for i in `cat hosts.txt | tail -n 39 | grep -v "#"`; do ssh $i uci get system.@system[0].hostname && ip a | grep ether | awk '{print $2}' && echo ; done ##parse mac for i in `cat hosts.txt | tail -n 39 | grep -v "#"`; do ssh $i fdddd="`uci get system.@system[0].hostname`" && echo $fdddd && ip a | grep ether | awk '{print $2}' && echo ; done # parse mod # awk '{cmd="YOUCOMMAND" $1; system(cmd)}' # cmd="uci get system.@system[0].hostname" #for i in `cat hosts.txt | tail -n 39 | grep -v "#"`; do ssh $i ip a | grep ether | awk '{cmd="uci get system.@system[0].hostname" print $2; system(cmd)}' && echo ; done #scp file batman for i in `cat hosts.txt | tail -n 39 | grep -v "#"`; do scp bat-hosts root@$i:/etc/bat-hosts; done # generation ip for i in `seq 1 36`; do echo 192.168.1.${i} ; done |
Настройка сетевого имени openwrt:
1 2 3 4 5 |
# change hostname openwrt # uci set system.@system[0].hostname=openwrt-20 uci commit system echo newhostname > /proc/sys/kernel/hostname reboot |
Openwrt /etc/config/snmpd
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
config agent option agentaddress 'UDP:161,UDP6:161' config agentx option agentxsocket '/var/run/agentx.sock' config com2sec 'public' option secname 'ro' option source 'default' option community 'vasian' config com2sec 'private' option secname 'rw' option source 'localhost' option community 'private' config com2sec6 'public6' option secname 'ro' option source 'default' option community 'public' config com2sec6 'private6' option secname 'rw' option source 'localhost' option community 'private' config group 'public_v1' option group 'public' option version 'v1' option secname 'ro' config group 'public_v2c' option group 'public' option version 'v2c' option secname 'ro' config group 'public_usm' option group 'public' option version 'usm' option secname 'ro' config group 'private_v1' option group 'private' option version 'v1' option secname 'rw' config group 'private_v2c' option group 'private' option version 'v2c' option secname 'rw' config group 'private_usm' option group 'private' option version 'usm' option secname 'rw' config view 'all' option viewname 'all' option type 'included' option oid '.1' config access 'public_access' option group 'public' option context 'none' option version 'any' option level 'noauth' option prefix 'exact' option read 'all' option write 'none' option notify 'none' config access 'private_access' option group 'private' option context 'none' option version 'any' option level 'noauth' option prefix 'exact' option read 'all' option write 'all' option notify 'all' config system option sysLocation 'office' option sysContact 'bofh@example.com' config exec option name 'filedescriptors' option prog '/bin/cat' option args '/proc/sys/fs/file-nr' config engineid option engineidtype '3' option engineidnic 'eth0' config snmpd 'general' option enabled '1' |
Debian /etc/snmp/snmpd.conf
1 2 3 4 5 6 7 8 |
sysServices 72 master agentx agentaddress udp:161 view systemonly included .1.3.6.1.2.1.1 view systemonly included .1.3.6.1.2.1.25.1 rocommunity vasian 192.168.0.0/16 createUser snmpreadonly SHA "SecUREDpass" AES "StRongPASS" rouser snmpreadonly |
_test_ansible.yml
1 2 3 4 5 6 7 8 9 |
--- - name: My TEST Playbook hosts: all # become: yes tasks: - name: Ping test ping: ... |
copy-file-bat-hosts-to-server.yaml
1 2 3 4 5 6 7 8 9 10 11 12 |
--- - hosts: all #become: yes #gather_facts: false vars: destin_file_cli: /etc/bat-hosts source_file_cli: ./bat-hosts tasks: - name: Copy file bat-hosts to Servers copy: src={{ source_file_cli }} dest={{ destin_file_cli }} mode=0664 owner=root group=root backup=yes ... |
copy-file-snmpd-to-server.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
--- - hosts: all # become: yes gather_facts: false vars: destin_file: /etc/config/snmpd source_file: ./snmpd.txt tasks: - name: Copy file snmpd to Servers copy: src={{ source_file }} dest={{ destin_file }} mode=0664 owner=root group=root backup=yes - name: restart snmpd shell: /etc/init.d/snmpd restart ... |
rm-copy-file-resolv-to-server.yaml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
--- - hosts: all # become: yes gather_facts: false vars: destin_file: /etc/resolv.conf source_file: ./resolv.conf tasks: - name: remove file resolv.conf file: path: /etc/resolv.conf state: absent - name: Copy file resolv.conf to Servers copy: src={{ source_file }} dest={{ destin_file }} mode=0664 owner=root group=root backup=yes ... |