add ipv6 option
and make commands ready for latest ios version(csr1000 ready)
This commit is contained in:
parent
1b390f40fe
commit
55dd09dca8
|
@ -1,5 +1,5 @@
|
|||
RSA_BITSIZE = 4096
|
||||
MANAGEMENT_INTERFACE = 'GigabitEthernet 0/0/0'
|
||||
RSA_BITSIZE = 2048
|
||||
MANAGEMENT_INTERFACE = 'GigabitEthernet 2'
|
||||
|
||||
|
||||
def generate_config(s):
|
||||
|
@ -10,23 +10,21 @@ def generate_config(s):
|
|||
config = 'enable\n' \
|
||||
'configure terminal\n' \
|
||||
f"hostname {s['HOSTNAME']}\n" \
|
||||
'no ip domain lookup\n' \
|
||||
f"ip domain name {s['DOMAIN']}\n" \
|
||||
f"crypto key generate rsa general-keys modulus {RSA_BITSIZE}\n" \
|
||||
f"crypto key generate rsa modulus {RSA_BITSIZE}\n" \
|
||||
f"username {s['SSH_USERNAME']} password {s['SSH_PASSWORD']}\n" \
|
||||
f"enable secret {s['ENABLE_PASSWORD']}\n" \
|
||||
'service password-encryption\n' \
|
||||
'ip ssh version 2\n' \
|
||||
f"int {MANAGEMENT_INTERFACE}\n" \
|
||||
f"interface {MANAGEMENT_INTERFACE}\n" \
|
||||
f"ip address {s['MANAGEMENT_IP']} {s['MANAGEMENT_MASK']}\n" \
|
||||
f"ipv6 address {s['MANAGEMENT_IPv6']}\n" \
|
||||
'no shutdown\n' \
|
||||
'exit\n' \
|
||||
'line console 0\n' \
|
||||
'logging synchronous\n' \
|
||||
'login local' \
|
||||
'line vty 0 15\n' \
|
||||
'transport in ssh\n' \
|
||||
'transport out ssh\n' \
|
||||
'transport input ssh\n' \
|
||||
'login local\n' \
|
||||
'end\n' \
|
||||
'exit\n'
|
||||
|
@ -65,6 +63,11 @@ def ask_options():
|
|||
opt['MANAGEMENT_MASK'] = input('Management Mask(255.255.255.0): ')
|
||||
if not opt['MANAGEMENT_MASK']:
|
||||
opt['MANAGEMENT_MASK'] = '255.255.255.0'
|
||||
|
||||
opt['MANAGEMENT_IPv6'] = input('Management IPv6/netmask: ')
|
||||
while not opt['MANAGEMENT_IPv6']:
|
||||
print('Address required!')
|
||||
opt['MANAGEMENT_IPv6'] = input('Management IPv6: ')
|
||||
|
||||
return opt
|
||||
|
||||
|
|
Reference in New Issue