Wie kann ich TCP / IP für einen Ethernet-Adapter deaktivieren?

8

Ich habe CentOS 6.3 in einer (virtuellen) Maschine mit zwei Ethernet-Adaptern ausgeführt. Ich habe eth0 mit einem TCP / IP-LAN und eth1 mit einem DSL-Modem verbunden. Das System ist als dedizierter Router / Firewall gedacht und verfügt über Iptables, die für SNAT, DNAT und die gewünschte Filterung eingerichtet sind.

Das hat super funktioniert, aber ich habe die DSL-Modems geändert und leider ist das neue (schnellere) idiotensicher und damit automatisch NAT und erlaubt mir nicht, meine öffentliche IP an eth1 weiterzugeben. Ich kann kein doppeltes NAT tolerieren, daher habe ich einige Nachforschungen angestellt und gelesen, dass dieses Modem dazu verleitet werden kann, meinem Computer eine öffentliche IP-Adresse zu geben, indem PPPoE auf dem Computer ausgeführt wird.

Ich habe pppd daher für die Verwendung von eth1 eingerichtet und die ppp0-Verbindung erstellt, die ich dann in meinem benutzerdefinierten iptables-Konfigurationsskript für eth1 ersetze. Dies scheint bis zu einem gewissen Grad zu funktionieren, aber ich musste die Firewall öffnen, damit sie funktioniert, und sie ist schuppig.

Zum Teil, um bei der Fehlerbehebung zu helfen, möchte ich die Möglichkeit ausschließen, dass TCP / IP-Verkehr direkt an eth1 weitergeleitet wird, wo mein "freundliches" Modem ihn gerne NAT-fähig macht.

Nach meinem besten Wissen befindet sich PPPoE unter und nicht über IP - auf der physischen Schnittstelle, die direkt in Ethernet-Frames behandelt wird. Daher sollte ich nicht einmal IP-Netzwerke auf eth1 konfigurieren müssen, damit pppd funktioniert, und IP-Netzwerke, die auf eth1 ausgeführt werden, erschweren die Sache nur unnötig.

Hier entdecke ich, dumm, ich weiß nicht, wie ich den TCP / IP-Stack unter Linux deaktivieren soll! Ich weiß, dass Sie auf einer Windows-Box das TCP / IP-Protokoll in den Adaptereigenschaften einfach deaktivieren können, aber hier wird ein Nur-Text-CentOS ausgeführt, und ich habe keine Ahnung, wie das geht.

Anscheinend ist es kein sehr häufiger Wunsch, weil ich vergeblich im Internet gesucht habe. Es scheint wie eine hartverdrahtete Annahme , dass ein Ethernet - Adapter ist eine TCP / IP - Verbindung. Normalerweise ...

Vielen Dank für jede Hilfe! Kevin

Kevin
quelle

Antworten:

6

Entfernen Sie einfach die IPv4- und IPv6-Adressen mit ip addr flush dev eth1und ip -6 addr flush dev eth1.

Stéphane Chazelas
quelle
Vielen Dank für die Antwort - dies hat funktioniert (und andere Probleme in meiner Konfiguration aufgedeckt). Es scheint mir jedoch ein Konstruktionsfehler unter Linux zu sein, dass es keine explizite Kontrolle darüber gibt, welche Layer 3-Protokolle an eine bestimmte Netzwerkschnittstelle gebunden sind.
Kevin
Was meinst du? Die IP-Adresse ist der Hook der Schnittstelle im IP-Stack. Um dem IP-Stack mitzuteilen (in diesem Zusammenhang ist es nicht sinnvoll, von TCP zu sprechen), geben Sie ihm einfach keine IP-Adresse. Dies ist in jedem Betriebssystem, einschließlich MS Windows, so einfach und gleich.
Stéphane Chazelas
Aus technischer Sicht besteht ein Unterschied darin, dem Protokoll selbst mitzuteilen, dass es keine Adresse hat, und dem Betriebssystem mitzuteilen, dass das Protokoll nicht an den angegebenen Netzwerkadapter gebunden werden soll. Der gleiche Effekt vielleicht, aber letzterer ist sicherer, klarer und einheitlicher. In Windows gibt es in den Eigenschaften des Adapters eine Checkliste, die bestimmt, welche Protokolle an den Adapter gebunden sind. Tatsächlich ist dies der einzige Weg, um die IP-Adresse zu lösen, da beim einfachen Versuch, die IP-Adresse zu entfernen, eine Fehlermeldung The adapter requires at least one IP address. Please enter one.
Kevin
0

Sie können TCP / IP nicht deaktivieren, aber Sie können die Schnittstelle deaktivieren: Führen Sie einfach eine ip link set eth1 downin der Konsole aus.

Lassen Sie /etc/sysconfig/network-scripts/ifcfg-eth1mit nur ONBOOT=noinnen die Änderung dauerhaft zu machen.

Überprüfen Sie auch, wie eine Netzwerkkarte in CentOS deaktiviert wird.

PD: Wie gertvdijk erwähnt, wird dies deaktivieren auch die Fähigkeit zu laufen pppddurcheth1 .

mmoya
quelle
1
Durch Deaktivieren einer Netzwerkkarte werden auch Layer2-Frames nicht mehr übertragen, die für PPPoE benötigt werden.
Gertvdijk
@gertvdijk rechts, Antwort bearbeitet.
mmoya