Como posso desativar o TCP / IP para um adaptador Ethernet?

8

Eu tenho o CentOS 6.3 rodando em uma máquina (virtual) com dois adaptadores Ethernet. Eu tenho o eth0 conectado a uma LAN TCP / IP e o eth1 conectado a um modem DSL. O sistema destina-se a um roteador / firewall dedicado e possui tabelas de ip configuradas para executar SNAT, DNAT e a filtragem desejada.

Isso estava funcionando muito bem, mas mudei os modems DSL e, infelizmente, o novo (mais rápido) é à prova de idiotas e o NAT automaticamente e não me permitirá passar meu IP público para o eth1. Como não consigo tolerar o dobro do NAT, pesquisei e li que esse modem pode ser 'enganado' para dar ao meu computador um IP público, fazendo o PPPoE no computador.

Portanto, configurei o pppd para usar o eth1, criando a conexão ppp0, que substitui por eth1 no meu script de configuração do iptables personalizado. Isso parece funcionar até certo ponto, mas eu tive que abrir o firewall para fazê-lo funcionar, e é esquisito.

Parcialmente para ajudar na solução de problemas, eu quero descartar totalmente a possibilidade de qualquer tráfego TCP / IP ser roteado diretamente para eth1, onde meu modem 'amigável' terá prazer em usá-lo.

Que eu saiba, o PPPoE fica abaixo, não acima do IP - na interface física que lida diretamente nos quadros Ethernet. Portanto, eu nem precisava ter a rede IP configurada no eth1 para que o pppd funcionasse, e a rede IP executada no eth1 está apenas complicando as coisas desnecessariamente.

Aqui é onde eu descubro, bobo, não sei como desabilitar a pilha TCP / IP no Linux! Eu sei que em uma caixa do Windows você pode simplesmente desmarcar o protocolo TCP / IP nas propriedades do adaptador, mas aqui estou executando um CentOS somente em texto e não tenho idéia de como fazê-lo.

Aparentemente, não é um desejo muito comum, porque tenho procurado na Internet sem sucesso. Parece uma suposição de que um adaptador Ethernet é uma conexão TCP / IP. Bem, geralmente ...

Obrigado por qualquer ajuda! Kevin

Kevin
fonte

Respostas:

6

Basta remover os endereços IPv4 e IPv6 com ip addr flush dev eth1e ip -6 addr flush dev eth1.

Stéphane Chazelas
fonte
Obrigado pela resposta - isso funcionou (e expôs outros problemas na minha configuração). No entanto, parece-me uma falha de design no Linux que não há controle explícito de quais protocolos da camada 3 estão vinculados a uma determinada interface de rede.
22712 Kevin
O que você quer dizer? O endereço IP é o gancho da interface na pilha de IP. Para dizer à pilha de IPs (falar de TCP nesse contexto não faz sentido), apenas não forneça um endereço IP, é tão simples quanto isso e o mesmo em todos os sistemas operacionais, incluindo o MS Windows.
Stéphane Chazelas
Do ponto de vista da engenharia, há uma diferença entre dizer ao protocolo em si que não possui um endereço e informar ao sistema operacional que o protocolo não deve ser vinculado ao adaptador de rede especificado. Talvez o mesmo efeito, mas o último seja mais seguro, claro e uniforme. No Windows, há uma lista de verificação nas propriedades do adaptador que determina quais protocolos estão vinculados ao adaptador; Na verdade, esta é a única maneira de IP unbind, como simplesmente tentando remover o endereço IP receberá um erro informandoThe adapter requires at least one IP address. Please enter one.
Kevin
0

Você não pode desativar o TCP / IP, mas pode desativar a interface: basta executar um ip link set eth1 downno console.

Deixe /etc/sysconfig/network-scripts/ifcfg-eth1com apenas ONBOOT=nodentro para tornar a alteração persistente.

Verifique também como desativar uma NIC no CentOS?

PD: Como gertvdijk observou, isso também irá desativar a capacidade de executar pppdatravéseth1 .

mmoya
fonte
1
A desativação de uma NIC também interromperá a passagem dos quadros da Camada 2, necessários para o PPPoE.
gertvdijk
@gertvdijk certo, resposta editada.
mmoya