Movendo nomes de interface em um Cisco ASA, mantendo o restante da configuração no local


7

Meu problema inicial: fiquei sem portas físicas no meu ASA 5525-X

Minha solução inicial: Crie subinterfaces em um canal de porta e use um switch para agregar minhas VLANs

O problema subseqüente: como mover os nomes atribuídos às interfaces originais para as novas subinterfaces, mantendo o restante da minha configuração no lugar?

Se eu emitir uma diretiva ' no nameif ' na interface original antes de reatribuir o nome, o ASA excluirá todos os elementos de configuração que referenciam esse nome.

Se eu emitir novamente a diretiva ' nameif ' para renomear a interface para algo temporário antes de reatribuir o nome original, todos os elementos de configuração que referenciaram o nome original serão atualizados para refletir o novo nome. No final, não estou mais perto do meu objetivo.

A única solução que financiei até agora é a óbvia - edite a configuração de inicialização offline e recarregue o firewall com minhas alterações já implementadas. O que eu não gosto nisso é o tempo de recarga - o ASA não inicializa rapidamente. Não poderei ocultar o tempo de inatividade em uma pequena janela de manutenção no final do dia (a Internet está inoperante? Hein, está de volta agora - deve ter sido eu). Em vez disso, terei que agendar uma janela de manutenção mais longa.

Atualização : Confira a pergunta relacionada, comando de inicialização do Cisco ASA startup-config para subinterfaces .

Existe outra maneira de 'mover' um nome de uma interface para uma nova interface, mantendo todo o resto no lugar?


Qual versão você está executando? 8.3+?
Ricky Beam

@ RickyBeam, estou executando o 9.3 (2).
Matthew Johnson

Obrigado pela lembrança @Eddie - Estou esperando para marcar uma resposta até que eu possa obter uma pergunta relacionada neste fórum respondeu: Cisco ASA comando ordenação startup-config para sub-interfaces
Matthew Johnson

Respostas:


2

Deixe a porta física que você está usando como a VLAN sem etiqueta. Você pode direcionar esse tráfego para uma VLAN # no seu switch, definindo a VLAN nativa como a VLAN # na qual você deseja que esse tráfego esteja.

Então, para cada nova VLAN que você está adicionando ao seu ASA, torne essa uma sub interface.

Eu não tenho um ASA para validar este código, mas será algo parecido com isto:

interface gig0/0
  nameif ORIGINAL-NAMEIF
  security-level 100

interface gig0/0.20
  vlan 20
  nameif NEW-VLAN-2
  security-level 20

interface gig0/0.30
  vlan 30
  nameif NEW-VLAN-3
  security-level 30

etc. Deve permitir que você adicione novas subinterfaces sem fazer alterações na interface original. A interface "raiz" não inclui uma tag VLAN, para que o tráfego não seja alterado.

Você pode executá-lo dessa maneira indefinidamente ou alterá-lo para que tudo esteja usando as tags VLAN posteriormente, quando for mais conveniente reduzir a rede.


Boa sugestão @Eddie. Provavelmente, acabarei usando uma combinação da sua sugestão e de algo semelhante ao sugerido por @ massimo-baschieri (um straight show run | i interface nameerra vários elementos do contexto).
Matthew Johnson

1

Foi assim que fiz a mesma coisa.

Primeiro mudei todos os nomes de minha interface para "_REPLACE" no final.

Isso garantiu que eu selecionasse apenas os locais reais em que a interface estava presente.

Vários itens terão o nome padrão da interface no momento em que são criados, mas não serão alterados se você renomear a interface posteriormente. Além disso, você pode ter objetos que você nomeou com o nome da interface em algum momento, o que também pode ser confuso.

EG: Arbitrary_Netinterface tornou-seArbitrary_Net_REPLACE

Em seguida, criei um canal de porta em algumas interfaces e criei interfaces de VLAN Abaixo delas, colocando o ID da VLAN como o número da subinterface e anexado ao nome da interface que será movido para lá.

A Arbitrary_Netinterface EG: " " está ativada VLAN 173, PortChannel1.123foi atribuída VLAN ID 123e recebeu o nome " Arbitrary_Net_123"

No entanto, ao fazê-lo novamente, eu alteraria esse processo para simplesmente " _NEW" no final, em vez de " Arbitrary_Net_NEW", pois isso poderia me permitir fazer alterações muito mais rapidamente.

Eu assegurei que as interfaces tivessem seus endereços MAC configurados para HA etc. e que os canais de porta estavam funcionando e algumas VLANs temporárias arbitrárias que eu criei no ASA e o switch mostrou que o ASA podia executar ping no switch e o switch poderia executar ping no ASA para garantir que existissem. já era conectividade.

Também alterei o HTTP e o SSH para usar LOCAL em vez de AAA até que as alterações fossem concluídas. Quando eu as alterei novamente, adicionei e testei o acesso de gerenciamento de um host em uma rede separada da minha rede de gerenciamento normal, para poder mover a rede primeiro depois conclua as alterações depois de confirmar que ainda tinha acesso ao gerenciamento.

Então eu apenas enviei o TFTP pela configuração copy run tftp://[hostIP]/[Path]/FW_Cluster A_Primary_Active_Original.asae abri isso no Notepad ++ para editar.

Para ser cauteloso, pesquisei todas as instruções "_Replace" e as coloquei em um arquivo separado (vamos chamar de "Arquivo Principal"

Eu as revisei e, se nenhuma delas estava nivelada para o lado esquerdo, verifiquei a área para ter certeza de pegar os comandos externos necessários no arquivo TFTP.

Nota: Eu poderia ter feito isso com as configurações de AAA, mas achei muito mais fácil deixar o ASDM cuidar de reescrever os comandos exatamente naqueles, já que o AAA precisa ser completamente removido e lido e eu tinha meio dezenas de configurações. Acabei de descartar os itens AAA até mais tarde.

Da mesma forma, descartei comandos como nameife MTUque não estavam mudando.

Isso deixou principalmente um monte de regras NAT, o ACE para interface de associações, Cyrptomaps e algumas rotas etc. no arquivo principal

As rotas, mudei para um arquivo separado (chame-o de penúltimo arquivo), aqui eu as dobro, coloquei no routena interface antiga e depois routena nova interface e agrupei-as pela interface.

Redirecionamento de WebVPN e HTTP Eu também copiei o arquivo penúltimo e prefixei tudo isso noanexado a eles.

Adicionei mais algumas probabilidades e Termina ao arquivo penúltimo, que precisavam ser removidas e adicionadas novamente, como:

no management Arbitrary_NET_REPLACE
management Arbitrary_NET_NEW

Quando voltei para o arquivo PRINCIPAL e fiquei satisfeito, não havia mais esse tipo de coisa nele

Então, acabei de pesquisar _REPLACEe substituir _New(ou, se você estava acompanhando, na verdade fiz várias delas porque estava usando IDs de VLAN nas interfaces)

Puxei todas as regras da NAT para fora também em um Excel e executei um sh run nat | in _REPLACEOn the ASA

Coloquei a saída desse comando em um conjunto de Células e as Novas versões dos comandos no outro conjunto e revisei para garantir que eles correspondessem.

Em seguida, usei o Excel para separar os números de regra NAT do primeiro conjunto de células e adicioná-lo ao segundo antes da palavra-chave "Origem"

Ou seja, eu coloquei os resultados do programa na coluna B, os NATs do arquivo principal na coluna C e ** na coluna EI fizeram uma substituição usando o excel =SUBSTITUTE(C1, source ,LEFT(B1," "&FIND(" ",B1)&"source ")) Isso pegou os números das regras e os colocou logo antes da fonte, o que é necessário para colocá-los na ordem correta.

(** TBH antes de fazer a substituição na coluna E, usei a coluna D para executar uma comparação com as colunas B e C, observando as regras NAT a partir da fonte da palavra, mas não sinto vontade de escrever nessa equação no momento coçando a cabeça e os resultados foram 8 como o esperado, então minha inspeção visual foi precisa o suficiente)

Em seguida, na coluna A, adicionei esta fórmula para obter os números das regras =LEFT(B1,FIND(" ",B1)-1)

Em seguida, selecionei as colunas A a E, pressione Filtro e as classifiquei para reverter a ordem das regras NAT para que elas fossem aplicadas do número mais alto ao número mais baixo.

Copiei-os novamente no arquivo PRINCIPAL, substituindo os NATs que estavam lá antes.

Finalmente, voltei ao arquivo TFTP e copiei os comandos de interface para as interfaces antigas em um arquivo final

Eu mudei o IP neles para uma rede completamente fora da faixa normal, digamos que as redes originais eram todas 10.1.x.y, eu mudei tudo isso 10.2.x.y Eu mudei todas as Monitor instruções para no monitore adicionei um shutno final

Em seguida, copiei todos os comandos da nova interface e coloquei int ele os endereços IP e máscaras de sub-rede corretos e adicionei monitorpalavras-chave para cada um.

Em seguida, emparelhei cada interface antiga com a nova, para que eu pudesse fazer uma de cada vez, caso perdesse algum problema.

Por fim, copiei os comandos originais novamente para essas interfaces originais e apenas retive o interface gi0/0comando e o nameifcomando e anexei noa cada nameifum deles para que todos fossem todos no nameif, e coloquei isso em um arquivo separado para mais tarde, apenas no caso.

Finalmente eu estava pronto.

Eu apliquei as alterações do arquivo Mian.

Agora eu tinha todos os meus ACLss associados à interface nova e antiga, e todas as regras NAT também foram duplicadas para elas (o que não é um problema, porque só importava quando o tráfego passava pela interface fornecida).

Eu poderia revisar a regra NAT sin CLI ou ASDM e ver as regras novas e antigas próximas uma da outra corretamente, o que também foi muito útil para confirmar nenhum problema.

Em seguida, apliquei as alterações do penúltimo arquivo e do arquivo final ONLy na interface na qual eu havia configurado o acesso alternativo para ASDM e SSH, confirmei que tudo estava bem e entrei em SSH e ASDM para fazer as alterações restantes.

Agora apliquei todas as alterações restantes do arquivo Penultimate e, em seguida, Todas as alterações do arquivo final.

Isso me deixou com as interfaces originais ainda lá, as ACLs e NATs ainda aplicadas a elas, e tudo isso pode ser ativado novamente e começar a trabalhar com apenas um pequeno conjunto de alterações.

Algumas horas depois, fiquei satisfeito com as mudanças.

Movi todas as configurações de AAA com uso excessivo de ASDM (obrigado ASDM!) E, em seguida, executei os no nameifcomandos que eu havia salvado em um arquivo separado para mais tarde, e todas as entradas restantes para qualquer coisa relacionada a essas interfaces foram removidas do cluster de firewall .

Ao fazer isso, é possível executar o firewall médio em um ou dois dias de trabalho quando estiver confortável com o processo, mas descobri que era muito mais cauteloso e apenas os firewalls se agrupam com praticamente nenhum NAT e VPN parecia "rápido" .

Em parte, porque você vai querer verificar tudo e, mesmo depois de ter feito isso, pode se esquecer de algo pequeno.

No entanto, posso dizer que deixar a interface muda até a última etapa me permitiu lidar com pequenas dicas bem antes dessa etapa, de modo que, quando o tráfego realmente se movia, havia muitas vezes apenas ping ou dois perdidos, geralmente apenas um pouco de latência .


0

edite a configuração de inicialização offline e recarregue

Essa é a única maneira. Internamente, o nome é rastreado com um ID exclusivo. Não há como "mover" o nome para uma interface diferente.

Uma alternativa possível seria atualizar a configuração de inicialização, remover os nomes e " copiar iniciar executar " para colocar tudo de volta. Mas você está pedindo uma grande bagunça e ela ainda quebrará todas as conexões existentes. (Eu daria 1 em 5 de travar o sistema no processo.)

Quanto ao tempo para recarregar, nunca vi um ASA levar mais do que alguns minutos (abaixo de 5) para recarregar.


Obrigado pelo post. Eu também pensei em usar copy offline-config run( offline-config seria um arquivo de configuração que eu modifiquei offline e enviei para o ASA) seguido por clear conn all, mas não sabia ao certo qual seria o efeito ... achei que seria uma bagunça.
Matthew Johnson

Copiar para executar em dispositivos IOS é uma operação de mesclagem. Não tenho certeza do que ele faz em um ASA, mas desarrumado seria a descrição mais legal que consigo pensar.
Cpt_fink 4/06/15

11
nenhum nameif excluiria grande parte da configuração no processo. Então, copiar a inicialização para a execução pode funcionar. Mas o uso do item 8.3 em diante NÃO funcionará, pois a configuração não pode ser analisada de cima para baixo.
Ricky feixe

0

Essa é a minha maneira: emita um show | inclua "nome da interface" Cole no bloco de notas todas as linhas com "nome da interface". Adicione os comandos para mover o nome para a nova interface. Como agora você trabalhou offline, nenhuma execução de alteração de configuração é iniciada. Agora inicia o jogo real, copie e cole as linhas inteiras no asa, a configuração será alterada e a nova será executada em alguns segundos. No entanto, é necessário verificar novamente as linhas de configuração antes de iniciar e não perder o asa depois de excluir o nome na interface original.


Obrigado pela sugestão. Provavelmente vou acabar usando uma técnica semelhante à que você sugeriu. Infelizmente, a simples execução show run | include interface nameperderá vários elementos de configuração. Por exemplo, o objeto nat requer um comando global + um subcomando, mas apenas o subcomando faz referência ao nome da interface.
Matthew Johnson

0

Outra coisa que você pode fazer é copiar a saída de mais sistema: running-config para um bloco de notas, faça as alterações na interface. Remova as somas de verificação e copie-as novamente para o flash do asa usando ftp ou tftp. Em seguida, limpe a configuração padrão de fábrica. Depois disso, copie disk0: / modified-config running-config. Isso preservará toda a configuração e apenas altera as interfaces. (Não esqueça de desligar as interfaces e fazer uma comparação de configuração com o Notepad ++ Compare ou outra ferramenta.)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.