GNU/Linux >> Belajar Linux >  >> Linux

Balas di antarmuka yang sama dengan masuk?

echo 200 isp2 >> /etc/iproute2/rt_tables
ip rule add from <interface_IP> table isp2 prio 1
ip route add default via <gateway_IP> dev <interface> table isp2

Di atas tidak memerlukan penandaan paket dengan ipfilter. Ini berfungsi karena paket keluar (balasan) akan memiliki alamat IP yang awalnya digunakan untuk terhubung ke antarmuka ke-2 sebagai alamat sumber (dari) pada paket keluar.


Perintah berikut membuat tabel perutean alternatif melalui eth1 untuk paket yang bertanda 1 (kecuali paket ke localhost). ip perintah dari iproute2 suite (Ubuntu:iproute Install iproute http://bit.ly/software-small, iproute-doc Install iproute-doc http://bit.ly/software-small).

ip rule add fwmark 1 table 1
ip route add 127.0.0.0/0 table 1 dev lo
ip route add 0.0.0.0/0 table 1 dev eth1

Separuh pekerjaan lainnya adalah mengenali paket yang harus mendapatkan tanda 1; lalu gunakan iptables -t mangle -A OUTPUT … -j MARK --set-mark 1 pada paket-paket ini untuk mengarahkannya melalui tabel perutean 1. Saya pikir yang berikut harus melakukannya (ganti 1.2.3.4 dengan alamat antarmuka rute non-default):

iptables -t mangle -A OUTPUT -m conntrack --ctorigdst 1.2.3.4 -j MARK --set-mark 1

Saya tidak yakin apakah itu cukup, mungkin diperlukan aturan lain pada paket yang masuk untuk memberi tahu modul conntrack untuk melacaknya.


Saya memiliki masalah dengan paket yang dihasilkan secara lokal dengan solusi yang disarankan oleh Peter, saya telah menemukan bahwa yang berikut ini memperbaikinya:

echo 200 isp2 >> /etc/iproute2/rt_tables
ip rule add from <interface_IP> table isp2 priority 900
ip rule add from dev <interface> table isp2 priority 1000
ip route add default via <gateway_IP> dev <interface> table isp2
ip route add <interface_prefix> dev <interface> proto static scope link src <interface_IP> table isp2

CATATAN: Anda mungkin mengalami masalah sintaks dengan baris ke-4 di atas. Dalam kasus seperti itu, sintaks untuk perintah ke-4 mungkin seperti ini sekarang:

ip rule add iif <interface> table isp2 priority 1000

Linux
  1. Linux – Membalas Pada Antarmuka yang Sama Saat Masuk?

  2. Tambahkan antarmuka Jaringan Cloud ke Server Cloud

  3. Jatuhkan tabel di MySQL

  1. Dapatkan alamat IP dari sebuah antarmuka di Linux

  2. Cara mengirim paket multicast melalui antarmuka khusus di Linux

  3. Mengekstraksi data dari tabel HTML

  1. Bagaimana cara merutekan hanya subnet tertentu (sumber ip) ke antarmuka tertentu?

  2. Tentukan saluran antarmuka nirkabel

  3. Nama antarmuka VLAN sewenang-wenang