Bagaimana saya bisa menonaktifkan TCP / IP untuk adaptor Ethernet?

8

Saya memiliki CentOS 6.3 yang berjalan di mesin (virtual) dengan dua adapter Ethernet. Saya memiliki eth0 terhubung ke TCP / IP LAN dan eth1 terhubung ke modem DSL. Sistem ini dimaksudkan sebagai router / firewall khusus, dan memiliki iptables yang diatur untuk melakukan SNAT, DNAT, dan penyaringan yang diinginkan.

Ini bekerja dengan baik, tetapi saya mengubah modem DSL dan sayangnya yang baru (lebih cepat) adalah idiotproofed dan secara otomatis melakukan NAT dan tidak akan mengizinkan saya untuk meneruskan IP publik saya ke eth1. Saya tidak bisa mentolerir NAT ganda, jadi saya melakukan riset dan membaca bahwa modem ini dapat 'diakali' untuk memberikan komputer saya IP publik dengan melakukan PPPoE di komputer.

Karena itu saya mengatur pppd untuk menggunakan eth1, membuat koneksi ppp0 yang kemudian saya ganti dengan eth1 di skrip konfigurasi iptables kustom saya. Ini tampaknya bekerja pada tingkat tertentu, tetapi saya harus membuka firewall untuk membuatnya berfungsi, dan itu serpihan.

Sebagian untuk membantu dalam pemecahan masalah, saya ingin benar-benar mengesampingkan kemungkinan setiap lalu lintas TCP / IP secara langsung dialihkan ke eth1 di mana modem 'ramah' saya akan dengan senang hati mengatasinya.

Sejauh pengetahuan saya, PPPoE berada di bawah, bukan di atas IP - pada antarmuka fisik yang berhubungan langsung dalam frame Ethernet. Oleh karena itu saya bahkan tidak perlu memiliki jaringan IP yang dikonfigurasi pada eth1 sama sekali agar pppd berfungsi, dan jaringan IP yang berjalan pada eth1 karenanya hanya mempersulit hal-hal yang tidak perlu.

Di sinilah saya temukan, konyol saya, saya tidak tahu cara menonaktifkan TCP / IP stack di Linux! Saya tahu pada kotak Windows Anda hanya dapat menghapus centang protokol TCP / IP di properti adaptor, tapi di sini saya menjalankan CentOS hanya teks dan saya tidak tahu bagaimana melakukannya.

Rupanya itu bukan keinginan yang sangat umum, karena saya sudah mencari di internet tanpa hasil. Sepertinya asumsi terprogram bahwa adaptor Ethernet adalah koneksi TCP / IP. Yah, biasanya ...

Terima kasih atas bantuannya! Kevin

Kevin
sumber

Jawaban:

6

Hapus saja alamat IPv4 dan IPv6 dengan ip addr flush dev eth1dan ip -6 addr flush dev eth1.

Stéphane Chazelas
sumber
Terima kasih atas jawabannya - ini berhasil (dan mengungkap masalah lain di konfigurasi saya). Namun, menurut saya seperti cacat desain di Linux bahwa tidak ada kontrol eksplisit yang protokol Layer 3 terikat ke antarmuka jaringan yang diberikan.
Kevin
Apa maksudmu? Alamat IP adalah kait antarmuka di tumpukan IP. Untuk memberitahu tumpukan IP (berbicara tentang TCP dalam konteks itu tidak masuk akal), tapi jangan berikan alamat IP, itu sesederhana itu dan sama di setiap OS termasuk MS Windows.
Stéphane Chazelas
Dari sudut pandang teknik, ada perbedaan antara memberi tahu protokol itu sendiri bahwa itu tidak memiliki alamat, dan memberi tahu sistem operasi bahwa protokol tersebut tidak terikat pada adaptor jaringan yang diberikan. Efek yang sama mungkin tetapi yang terakhir lebih aman, jelas, dan seragam. Di Windows, ada daftar periksa di properti adaptor yang menentukan protokol mana yang terikat ke adaptor; pada kenyataannya, ini adalah satu - satunya cara untuk melepaskan ikatan IP, karena hanya dengan mencoba menghapus alamat IP akan mendapatkan kesalahan yang menyatakanThe adapter requires at least one IP address. Please enter one.
Kevin
0

Anda tidak dapat menonaktifkan TCP / IP tetapi Anda dapat menonaktifkan antarmuka: jalankan saja ip link set eth1 downdi konsol.

Biarkan /etc/sysconfig/network-scripts/ifcfg-eth1dengan hanya ONBOOT=nodi dalam untuk membuat perubahan terus-menerus.

Juga periksa Cara menonaktifkan NIC di CentOS?

PD: Sebagai gertvdijk dicatat, ini juga akan menonaktifkan kemampuan untuk menjalankan pppdmelaluieth1 .

mmoya
sumber
1
Menonaktifkan NIC juga akan menghentikan frame Layer2 untuk lulus, yang diperlukan untuk PPPoE.
gertvdijk
@ gertvdijk benar, jawab diedit.
mmoya