Wednesday, April 25, 2012

PCC exemptions

Pengenalan

Bila menggunakan PCC sesuai manual resmi PCC kebijakan routing yang berlaku tanda untuk semua paket berasal oleh jaringan lokal. Tanda ini routing yang menimpa semua keputusan routing lain router biasanya akan membuat, termasuk routing keputusan antara jaringan yang terhubung langsung. Hal ini menyebabkan perangkat pada satu jaringan lokal tidak mampu mencapai perangkat pada jaringan lain terhubung langsung - sesuatu yang akan bekerja di luar kotak tanpa PCC.Tanpa PCC router hanya akan berkonsultasi dengan tabel routing dan mengirim paket keluar port yang sesuai, dengan PCC paket akan ditandai untuk distribusi melalui salah satu link WAN dan akan dikirim keluar seperti itu.

Larutan

Untuk mengembalikan konektivitas antara jaringan yang terhubung langsung lalu lintas antara jaringan harus dikecualikan dari PCC. Suatu pendekatan sederhana dan dapat diperpanjang adalah untuk pertama membuat daftar alamat yang berisi semua jaringan lokal, termasuk jaringan WAN, dan untuk kemudian menerima semua lalu lintas antara jaringan pada daftar alamat. Manual PCC resmi sebenarnya semacam melakukan hal ini: pertama dua aturan dalam kebijakan manual resmi rute bagian lalu lintas exemps dari LAN ke segmen WAN terhubung langsung:

/ip firewall mangle
add chain=prerouting dst-address=10.111.0.0/24 \
action=accept in-interface=LAN
add chain=prerouting dst-address=10.112.0.0/24 \
action=accept in-interface=LAN

Prinsip yang sama dapat diperluas untuk memungkinkan jaringan lokal ganda untuk berbicara satu sama lain. Membangun contoh dari manual - di mana LAN menangani adalah 192.168.0.0/24 - mari kita asumsikan ada juga DMZ ditujukan sebagai 172.16.0.0/24.

Pertama, membangun sebuah daftar alamat dengan semua jaringan yang dibebaskan dari PCC antara satu sama lain:

/ip firewall address-list
add list=local-networks address=10.111.0.0/24
add list=local-networks address=10.112.0.0/24
add list=local-networks address=192.168.0.0/24
add list=local-networks address=172.16.0.0/24

Kemudian ganti menerima aturan dari contoh PCC asli dengan ini:

/ip firewall mangle
add chain=prerouting src-address-list=local-networks dst-address-list=local-networks action=accept

Sekarang lalu lintas antara semua jaringan dalam daftar alamat dikecualikan dari PCC, dan disalurkan sesuai dengan tabel routing normal.

Melengkapi contoh diperpanjang

Demi penyelesaian itu, di sini contoh ditulis ulang seluruh PCC yang diambil dari manual resmi , dengan 172.16.0.0/24 ditambahkan sebagai DMZ:

/ip address
add address=192.168.0.1/24 interface=LAN
add address=172.16.0.1/24 interface=DMZ
add address=10.111.0.2/24 interface=ISP1
add address=10.112.0.2/24 interface=ISP2

/ip firewall address-list
add list=local-networks address=10.111.0.0/24
add list=local-networks address=10.112.0.0/24
add list=local-networks address=192.168.0.0/24
add list=local-networks address=172.16.0.0/24

/ip firewall mangle
add chain=prerouting src-address-list=local-networks \
dst-address-list=local-networks action=accept
add chain=prerouting in-interface=ISP1 connection-mark=no-mark \
action=mark-connection new-connection-mark=ISP1_conn
add chain=prerouting in-interface=ISP2 connection-mark=no-mark \
action=mark-connection new-connection-mark=ISP2_conn
add chain=prerouting in-interface=LAN connection-mark=no-mark \
dst-address-type=!local per-connection-classifier=both-addresses:2/0 \
action=mark-connection new-connection-mark=ISP1_conn
add chain=prerouting in-interface=LAN connection-mark=no-mark \
dst-address-type=!local per-connection-classifier=both-addresses:2/1\
action=mark-connection new-connection-mark=ISP2_conn
add chain=prerouting in-interface=DMZ connection-mark=no-mark \
dst-address-type=!local per-connection-classifier=both-addresses:2/0 \
action=mark-connection new-connection-mark=ISP1_conn
add chain=prerouting in-interface=DMZ connection-mark=no-mark \
dst-address-type=!local per-connection-classifier=both-addresses:2/1\
action=mark-connection new-connection-mark=ISP2_conn
add chain=prerouting connection-mark=ISP1_conn in-interface=LAN \
action=mark-routing new-routing-mark=to_ISP1
add chain=prerouting connection-mark=ISP2_conn in-interface=LAN \
action=mark-routing new-routing-mark=to_ISP2
add chain=prerouting connection-mark=ISP1_conn in-interface=DMZ \
action=mark-routing new-routing-mark=to_ISP1
add chain=prerouting connection-mark=ISP2_conn in-interface=DMZ \
action=mark-routing new-routing-mark=to_ISP2
add chain=output connection-mark=ISP1_conn action=mark-routing \
new-routing-mark=to_ISP1
add chain=output connection-mark=ISP2_conn action=mark-routing \
new-routing-mark=to_ISP2

/ip route
add dst-address=0.0.0.0/0 gateway=10.111.0.1 routing-mark=to_ISP1 \
check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.112.0.1 routing-mark=to_ISP2 \
check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.111.0.1 distance=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=10.112.0.1 distance=2 check-gateway=ping

/ip firewall nat
add chain=srcnat out-interface=ISP1 action=masquerade
add chain=srcnat out-interface=ISP2 action=masquerade

No comments:

Post a Comment