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?
Respostas:
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:
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.
fonte
show run | i interface name
erra vários elementos do contexto).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_Net
interface 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_Net
interface EG: " " está ativadaVLAN 173
,PortChannel1.123
foi atribuídaVLAN ID 123
e 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.asa
e 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
nameif
eMTU
que 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 route
na interface antiga e depoisroute
na nova interface e agrupei-as pela interface.Redirecionamento de WebVPN e HTTP Eu também copiei o arquivo penúltimo e prefixei tudo isso
no
anexado a eles.Adicionei mais algumas probabilidades e Termina ao arquivo penúltimo, que precisavam ser removidas e adicionadas novamente, como:
Quando voltei para o arquivo PRINCIPAL e fiquei satisfeito, não havia mais esse tipo de coisa nele
Então, acabei de pesquisar
_REPLACE
e 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 _REPLACE
On the ASAColoquei 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 isso10.2.x.y
Eu mudei todas asMonitor
instruções parano monitor
e adicionei umshut
no finalEm 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
monitor
palavras-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/0
comando e onameif
comando e anexeino
a cadanameif
um deles para que todos fossem todosno 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 nameif
comandos 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 .
fonte
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.
fonte
copy offline-config run
( offline-config seria um arquivo de configuração que eu modifiquei offline e enviei para o ASA) seguido porclear conn all
, mas não sabia ao certo qual seria o efeito ... achei que seria uma bagunça.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.
fonte
show run | include interface name
perderá 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.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.)
fonte