¿Cómo puedo deshabilitar TCP / IP para un adaptador Ethernet?

8

Tengo CentOS 6.3 ejecutándose en una máquina (virtual) con dos adaptadores Ethernet. Tengo eth0 conectado a una LAN TCP / IP y eth1 conectado a un módem DSL. El sistema está diseñado como un enrutador / firewall dedicado y tiene iptables configurados para hacer SNAT, DNAT y el filtrado deseado.

Esto funcionaba muy bien, pero cambié los módems DSL y desafortunadamente el nuevo (más rápido) está a prueba de idiotas y también lo hace automáticamente NAT y no me permitirá pasar mi IP pública a eth1. No puedo tolerar el doble NAT, así que investigué un poco y leí que este módem puede ser 'engañado' para que le dé a mi computadora una IP pública al hacer el PPPoE en la computadora.

Por lo tanto, configuré pppd para usar eth1, creando la conexión ppp0 que luego sustituyo por eth1 en mi script de configuración de iptables personalizado. Esto parece funcionar hasta cierto punto, pero tuve que abrir el firewall para que funcione, y es escamoso.

En parte para ayudar en la resolución de problemas, quiero descartar totalmente la posibilidad de que cualquier tráfico TCP / IP se enrute directamente a eth1, donde mi módem 'amigable' será felizmente NAT.

Que yo sepa, PPPoE se encuentra debajo de IP, no por encima de IP, en la interfaz física que trata directamente en tramas Ethernet. Por lo tanto, ni siquiera debería tener que configurar la red IP en eth1 para que pppd funcione, y la red IP que se ejecuta en eth1, por lo tanto, solo complica las cosas innecesariamente.

Aquí es donde descubro, tonto, ¡no sé cómo deshabilitar la pila TCP / IP en Linux! Sé que en un cuadro de Windows puede desmarcar el protocolo TCP / IP en las propiedades del adaptador, pero aquí estoy ejecutando un CentOS de solo texto y no tengo idea de cómo hacerlo.

Aparentemente no es un deseo muy común, porque he estado buscando en Internet sin éxito. Parece una suposición cableada que un adaptador Ethernet es una conexión TCP / IP. Bueno, por lo general ...

¡Gracias por cualquier ayuda! Kevin

Kevin
fuente

Respuestas:

6

Simplemente elimine las direcciones IPv4 e IPv6 con ip addr flush dev eth1y ip -6 addr flush dev eth1.

Stéphane Chazelas
fuente
Gracias por la respuesta: esto funcionó (y expuso otros problemas en mi configuración). Sin embargo, me parece una falla de diseño en Linux que no hay ningún control explícito de qué protocolos de Capa 3 están vinculados a una determinada interfaz de red.
Kevin
¿Qué quieres decir? La dirección IP es el gancho de la interfaz en la pila de IP. Para decirle a la pila IP (hablar de TCP en ese contexto no tiene sentido), simplemente no le dé una dirección IP, es tan simple como eso y lo mismo en todos los sistemas operativos, incluido MS Windows.
Stéphane Chazelas
Desde una perspectiva de ingeniería, hay una diferencia entre decirle al protocolo en sí mismo que no tiene una dirección y decirle al sistema operativo que el protocolo no debe vincularse al adaptador de red dado. Quizás el mismo efecto, pero este último es más seguro, claro y uniforme. En Windows, hay una lista de verificación en las propiedades del adaptador que determina qué protocolos están vinculados al adaptador; de hecho, esta es la única forma de desvincular la IP, ya que simplemente al tratar de eliminar la dirección IP se producirá un errorThe adapter requires at least one IP address. Please enter one.
Kevin
0

No puede deshabilitar TCP / IP pero puede deshabilitar la interfaz: simplemente ejecute un ip link set eth1 downen la consola.

Deje /etc/sysconfig/network-scripts/ifcfg-eth1solo ONBOOT=nodentro para que el cambio sea persistente.

Consulte también ¿Cómo deshabilitar una NIC en CentOS?

PD: Como gertvdijk señaló, esto también desactivará la capacidad de correr pppda travéseth1 .

mmoya
fuente
1
Deshabilitar una NIC también detendrá los marcos de Layer2 para pasar, que son necesarios para PPPoE.
gertvdijk
@gertvdijk derecha, respuesta editada.
mmoya