SlideShare a Scribd company logo
1 of 17
AN INTRODUCTION TO LINUX POLICY
ROUTING
Traditional IPv4 Routing
Trường hợp đơn giản nhất. T-D
- Định tuyến là quá trình tìm đường đi của một gói tin và forward
- Định tuyến truyền thống dựa nào địa chỉ IP đích trong IP header để
chọn ra tuyến đường phù hợp.
=> Tất cả các traffic đến cùng 1 đích đều đi chung một đường.
Policy Routing Theory
TM
Bạn lái xe ra đường => gặp ngã ba => chỉ có rẽ trái hoặc rẽ phải.
Rẽ bên nào phụ thuộc vào việc bạn muốn đi đâu.
=> Định tuyến dựa trên đích đến
Policy Routing Theory
- Phức tạp hơn, khi bạn lái xe đến một ngã
6.
- Cả 6 hướng đều có thể đi đến đích mà
bạn mong muốn.
+ Gần, đẹp, tối đa 80km/h, cấm ô tô
+ Nhiều sỏi, chỉ cho xe lu
+ Đường xa chỉ dành cho xe đạp
+ Phố đi bộ
+ Đường dành riêng cho xe bus
=> Lúc này việc chọn đi đường nào phụ thuộc vào bạn muốn
đi đâu và thêm bạn đang đi bằng phương tiện gì.
=> Định tuyến dựa vào địa chỉ IP đích + các yếu tố khác
của gói tinnhư source, protocol, port, thậm chí cả payload
được gọi là Policy Routing
Có gì hay ?
● Source-Based Transit Provider Selection: nhóm user khác
nhau sẽ đi qua các ISP khác nhau.
● QoS: Phân loại traffic và dành độ ưu tiên khác nhau
● Cost Savings: phân loại traffic theo các tuyến high-bandwidth,
low-cost.
● Load Sharing: cân tải, giả sử đến cùng một đích sẽ load qua
nhiều line khác nhau, khác với định tuyến truyền thống.
● Performance Improvement: với các line có MTU khác nhau,
có thể chọn line có MTU hợp lý nhất để tránh phân mảnh.
Kiềng 3 chân - Address, Route, Rule
● Thành phần cốt lõi của định tuyến dựa
trên chính sách gồm có 3 yếu tố
- Address: đi đến đâu
- Route: đi đường nào
- Rule: đi bằng gì, đi từ đâu …
● Sự tương tác của 3 yếu tố tạo ra sự
linh hoạt và phức tạp trong định tuyến
Không liên quan
( Có thể bạn chưa biết hoặc Có thể bạn biết rồi)
"Có một và chỉ một mặt phẳng đi qua ba điểm không
thẳng hàng" => 3 chân vững hơn 4 chân, 5 chân ...
Rule
● Thành phần mới, có xét đến thứ tự
● Một dạng như flow control < if … then … >, một phương
pháp để thực hiện ACL (Access Control List).
● Rule cho phép thực hiện filter, match một số điều kiện xác
định, rồi xác định route nào được sử dụng khi điều kiện
thỏa mãn.
● Thường dùng: route dựa vào source address
● rule types : prohibit, nat, unreachable, blackhole, unicast
Multiple Routing Tables
● Bạn có 3 đường đến FILESERVER : slow_link, medium_link, fast_link
● Nhóm HCNS chỉ tải các file dung lượng thấp (word, excel) => có thể
dùng slow_link
● Nhóm VCCLOUD tải các file image (iso) => cần fast_link
● Nếu chỉ có 1 bảng định tuyến, bạn chỉ có thể có 1 route đến
FILESERVER. Bạn chọn slow_link hay fast_link.
=> Sử dụng multipe routing table. Bảng A chứa slow_link, bảng B
chưa fast_link, kết hợp rule
● ip rule add from HCNS to FILESERVER table A
● ip rule add from VCCLOUD to FILESERVER table B
Routing tables được định nghĩa trong: /etc/iproute2/rt_table
- Thêm bảng định tuyến
echo “200 hcns” >> /etc/iproute2/rt_tables
- Thêm route vào bảng định tuyến
ip route add $dest via $nexthop dev $interface table hcns
VD: ip route add 8.8.8.8 via 192.168.234.1 dev eth0 table hcns
- Thêm forwarding policies
ip rule add from HCNS table hcns pref 100
ip rule (simplified) usage
● ip rule add - insert a new rule ip rule
● ip rule delete - delete a rule
from PREFIX: select the source prefix to match.
to PREFIX: select the destination prefix to match.
Iif NAME: select the incoming device to match.
Oif NAME: select the outgoing device to match.
Tos TOS: select the TOS value to match.
Fwmark MARK: select the fwmark value to match.
priority PREFERENCE the priority of this rule.
Table TABLEID: the routing table identifier to lookup if the rule
selector matches.
● ip rule flush - also dumps all the deleted rules
● ip rule show - list rules
● Khi gói tin đến router, kernel sẽ tìm route phù hợp dựa trên các rule
trong hệ thống. Bắt đầu từ highest priority , rule có prefer là 0.
● Nếu không tìm thấy route trong rule này, sẽ tiếp tục tìm trong các
rule khác match với gói tin đó cho đến hết.
● Priority: 0, Selector: match anything, routes for local and broadcast
addresses. Rule 0 is special. It cannot be deleted or overridden.
● Priority: 32766, Selector: match anything, Action: lookup routing
table main (ID 254). The main table is the normal routing table
containing all non-policy routes. This rule may be deleted and/or
overridden with other ones by the administrator.
● Priority: 32767, Selector: match anything, Action: lookup routing
table default(ID 253). The default table is empty. It is reserved
for some post-processing if no previous default rules selected the
packet. This rule may also be deleted
PBR simple set-up
● Specification
* Traffic from LAN A => link_slow
* Traffic from LAN B => link_fast
* Traffic from LAN A, host 10.0.0.101 => link_fast
● Suggested workflow
* Define how many tables we need
* Add and configure any extra routing table
* Set the policies pointing to any extra table
(attention to the rule priorities!!!)
PBR complex set-up
Specification (with this priority order.
i.e.: the first matching rule wins!)
● DNS traffic => link slow
● SSH traffic => link fast
● TCP traffic with dports 40000:40100 => link_medium
● Traffic from host 10.0.0.101 => link_medium
● WEB traffic => link medium
● Traffic from LAN SOHAGAME => link_slow
● Traffic from LAN ADMICRO => link_medium
Solution
#set ENV variables!
SLOW=“-j mark --set-mark 1”
MEDIUM=“-j mark --set-mark 2”
FAST=“-j mark --set-mark 3”
#set the netfilter rules
iptables -A PREROUTING -m mark --mark 0 -p udp --dport 53$SLOW
iptables -A PREROUTING -m mark --mark 0 -p tcp --dport 22$FAST
iptables -A PREROUTING -m mark --mark 0 -p tcp -m multiport --dports40000:40100
$MEDIUM
iptables -A PREROUTING -m mark --mark 0 -s 10.0.0.101$MEDIUM
iptables -A PREROUTING -m mark --mark 0 -p tcp -m multiport --dports 80,433
$MEDIUM
#the last two policies (from LAN SOHA and LAN ADMICRO)
ip rule add pri 23000 from 10.0.0.0/24 table link_slow
ip rule add pri 23001 from 10.1.0.0/24 table link_medium
Solution
# create the extra tables
echo "200 link_slow" >> /etc/iproute2/rt_tables
echo "201 link_medium" >> /etc/iproute2/rt_tables
# add the default routes to the new tables
ip route add default via 1.0.0.2 table link_slow
ip route add default via 3.0.0.2 table link_medium
# add the routing policies.
ip rule add pri 20000 fwmark 1 table link_slow
ip rule add pri 21000 fwmark 2 table link_medium
ip rule add pri 22000 fwmark 3 table main
Truy cập blog.vccloud.vn để xem thêm các bài viết hấp dẫn khác.

More Related Content

What's hot

Windows routing phần 2
Windows routing phần 2Windows routing phần 2
Windows routing phần 2laonap166
 
Windows routing phần 1
Windows routing phần 1Windows routing phần 1
Windows routing phần 1laonap166
 
Báo cáo tuần 1 nguyen phuong nhung
Báo cáo tuần 1 nguyen phuong nhungBáo cáo tuần 1 nguyen phuong nhung
Báo cáo tuần 1 nguyen phuong nhungNhung Nguyễn
 
Báo cáo tuần 3 nguyen phuong nhung
Báo cáo tuần 3 nguyen phuong nhungBáo cáo tuần 3 nguyen phuong nhung
Báo cáo tuần 3 nguyen phuong nhungNhung Nguyễn
 
Profibus Em277
Profibus   Em277Profibus   Em277
Profibus Em277hoadktd
 
Báo Cáo Cơ Sở Truyền Số Liệu
Báo Cáo Cơ Sở Truyền Số LiệuBáo Cáo Cơ Sở Truyền Số Liệu
Báo Cáo Cơ Sở Truyền Số LiệuNguyễn Đức Quý
 
tim-hieu-ky-thuat-ofdm-fbmc-va-mo-phong-fbmc-co-code-ben-duoi
tim-hieu-ky-thuat-ofdm-fbmc-va-mo-phong-fbmc-co-code-ben-duoitim-hieu-ky-thuat-ofdm-fbmc-va-mo-phong-fbmc-co-code-ben-duoi
tim-hieu-ky-thuat-ofdm-fbmc-va-mo-phong-fbmc-co-code-ben-duoiHuynh MVT
 
Baocao thuc tap tuan 2 nguyen phuong nhung
Baocao thuc tap tuan 2 nguyen phuong nhungBaocao thuc tap tuan 2 nguyen phuong nhung
Baocao thuc tap tuan 2 nguyen phuong nhungNhung Nguyễn
 
Dhcp nat out ubuntu
Dhcp nat out ubuntuDhcp nat out ubuntu
Dhcp nat out ubuntukarickhuy
 
Chương 3 Mạng Ethernet và mạng Wi-Fi - Giáo trình FPT
Chương 3 Mạng Ethernet và mạng Wi-Fi - Giáo trình FPTChương 3 Mạng Ethernet và mạng Wi-Fi - Giáo trình FPT
Chương 3 Mạng Ethernet và mạng Wi-Fi - Giáo trình FPTMasterCode.vn
 
Chương 2 căn bản cisco ios
Chương 2 căn bản cisco iosChương 2 căn bản cisco ios
Chương 2 căn bản cisco iosnguyenhoangbao
 
[Báo cáo] Bài tập lớn Cơ sở truyền số liệu
[Báo cáo] Bài tập lớn Cơ sở truyền số liệu[Báo cáo] Bài tập lớn Cơ sở truyền số liệu
[Báo cáo] Bài tập lớn Cơ sở truyền số liệuThe Nguyen Manh
 
15 routing và remote access services
15 routing và remote access services15 routing và remote access services
15 routing và remote access serviceslaonap166
 
Tài liệu profibus
Tài liệu profibusTài liệu profibus
Tài liệu profibusVu Phong
 
Bao cao thuc tap ri pv2
Bao cao thuc tap ri pv2Bao cao thuc tap ri pv2
Bao cao thuc tap ri pv2TranQuangChien
 
5 bo nho may tinh
5 bo nho may tinh5 bo nho may tinh
5 bo nho may tinhLy hai
 

What's hot (18)

Windows routing phần 2
Windows routing phần 2Windows routing phần 2
Windows routing phần 2
 
Windows routing phần 1
Windows routing phần 1Windows routing phần 1
Windows routing phần 1
 
Báo cáo tuần 1 nguyen phuong nhung
Báo cáo tuần 1 nguyen phuong nhungBáo cáo tuần 1 nguyen phuong nhung
Báo cáo tuần 1 nguyen phuong nhung
 
Báo cáo tuần 3 nguyen phuong nhung
Báo cáo tuần 3 nguyen phuong nhungBáo cáo tuần 3 nguyen phuong nhung
Báo cáo tuần 3 nguyen phuong nhung
 
Bc2
Bc2Bc2
Bc2
 
Profibus Em277
Profibus   Em277Profibus   Em277
Profibus Em277
 
Báo Cáo Cơ Sở Truyền Số Liệu
Báo Cáo Cơ Sở Truyền Số LiệuBáo Cáo Cơ Sở Truyền Số Liệu
Báo Cáo Cơ Sở Truyền Số Liệu
 
tim-hieu-ky-thuat-ofdm-fbmc-va-mo-phong-fbmc-co-code-ben-duoi
tim-hieu-ky-thuat-ofdm-fbmc-va-mo-phong-fbmc-co-code-ben-duoitim-hieu-ky-thuat-ofdm-fbmc-va-mo-phong-fbmc-co-code-ben-duoi
tim-hieu-ky-thuat-ofdm-fbmc-va-mo-phong-fbmc-co-code-ben-duoi
 
Baocao thuc tap tuan 2 nguyen phuong nhung
Baocao thuc tap tuan 2 nguyen phuong nhungBaocao thuc tap tuan 2 nguyen phuong nhung
Baocao thuc tap tuan 2 nguyen phuong nhung
 
Dhcp nat out ubuntu
Dhcp nat out ubuntuDhcp nat out ubuntu
Dhcp nat out ubuntu
 
Chương 3 Mạng Ethernet và mạng Wi-Fi - Giáo trình FPT
Chương 3 Mạng Ethernet và mạng Wi-Fi - Giáo trình FPTChương 3 Mạng Ethernet và mạng Wi-Fi - Giáo trình FPT
Chương 3 Mạng Ethernet và mạng Wi-Fi - Giáo trình FPT
 
Chương 2 căn bản cisco ios
Chương 2 căn bản cisco iosChương 2 căn bản cisco ios
Chương 2 căn bản cisco ios
 
[Báo cáo] Bài tập lớn Cơ sở truyền số liệu
[Báo cáo] Bài tập lớn Cơ sở truyền số liệu[Báo cáo] Bài tập lớn Cơ sở truyền số liệu
[Báo cáo] Bài tập lớn Cơ sở truyền số liệu
 
15 routing và remote access services
15 routing và remote access services15 routing và remote access services
15 routing và remote access services
 
Chap5
Chap5Chap5
Chap5
 
Tài liệu profibus
Tài liệu profibusTài liệu profibus
Tài liệu profibus
 
Bao cao thuc tap ri pv2
Bao cao thuc tap ri pv2Bao cao thuc tap ri pv2
Bao cao thuc tap ri pv2
 
5 bo nho may tinh
5 bo nho may tinh5 bo nho may tinh
5 bo nho may tinh
 

Similar to Linux policy routing

Bao cao thuc tap tuan 1
Bao cao thuc tap tuan 1Bao cao thuc tap tuan 1
Bao cao thuc tap tuan 1kanzakido
 
Khái niệm về eigrp 1
Khái niệm về eigrp 1Khái niệm về eigrp 1
Khái niệm về eigrp 1hoangtuvit123
 
Tổng quan về định tuyến tĩnh và
Tổng quan về định tuyến tĩnh vàTổng quan về định tuyến tĩnh và
Tổng quan về định tuyến tĩnh vàshinibi
 
Cai dat va_cau_hinh_iptables
Cai dat va_cau_hinh_iptablesCai dat va_cau_hinh_iptables
Cai dat va_cau_hinh_iptablesNguyen Van Hung
 
Báo cáo thực tập athena trần trọng thái
Báo cáo thực tập athena trần trọng tháiBáo cáo thực tập athena trần trọng thái
Báo cáo thực tập athena trần trọng tháitran thai
 
Chuong04_ACL.NAT_update (2).pptx
Chuong04_ACL.NAT_update (2).pptxChuong04_ACL.NAT_update (2).pptx
Chuong04_ACL.NAT_update (2).pptxTienTran779192
 
Bao cao thuc tap eigrp ac_ls
Bao cao thuc tap eigrp ac_lsBao cao thuc tap eigrp ac_ls
Bao cao thuc tap eigrp ac_lsTranQuangChien
 
Các giao thức định tuyến trong mạng AD-HOC
Các giao thức định tuyến trong mạng  AD-HOCCác giao thức định tuyến trong mạng  AD-HOC
Các giao thức định tuyến trong mạng AD-HOCPhú Lâm college
 
Báo cáo thực tập tuần 5 - Phạm Tiến Quân (word)
Báo cáo thực tập tuần 5 - Phạm Tiến Quân (word)Báo cáo thực tập tuần 5 - Phạm Tiến Quân (word)
Báo cáo thực tập tuần 5 - Phạm Tiến Quân (word)Quân Quạt Mo
 
Mai kim thi Báo cáo thực tập Tuần 2
Mai kim thi   Báo cáo thực tập Tuần 2Mai kim thi   Báo cáo thực tập Tuần 2
Mai kim thi Báo cáo thực tập Tuần 2Tehichan Mai
 
Bai giang quan tri mang-CHƯƠNG 2- Cac ky thuat DINH TUYEN.pdf
Bai giang quan tri mang-CHƯƠNG 2- Cac ky thuat DINH TUYEN.pdfBai giang quan tri mang-CHƯƠNG 2- Cac ky thuat DINH TUYEN.pdf
Bai giang quan tri mang-CHƯƠNG 2- Cac ky thuat DINH TUYEN.pdfhoangvttlu
 
Lab 2 phân loại dùng mô hình mqc
Lab 2 phân loại dùng mô hình mqcLab 2 phân loại dùng mô hình mqc
Lab 2 phân loại dùng mô hình mqcVNG
 
02 routing protocol-khai niem phan loai
02 routing protocol-khai niem phan loai02 routing protocol-khai niem phan loai
02 routing protocol-khai niem phan loaiDuy Vọng
 
02 routing protocol-khai niem phan loai
02 routing protocol-khai niem phan loai02 routing protocol-khai niem phan loai
02 routing protocol-khai niem phan loaiPhi Phi
 
Khac nhau bridge & route cho cấu hình cisco 878 megawan
Khac nhau bridge & route cho cấu hình cisco 878 megawanKhac nhau bridge & route cho cấu hình cisco 878 megawan
Khac nhau bridge & route cho cấu hình cisco 878 megawanthanhthat1
 
Báo cáo thực tập tuần 5 - Phạm Tiến Quân
Báo cáo thực tập tuần 5 - Phạm Tiến QuânBáo cáo thực tập tuần 5 - Phạm Tiến Quân
Báo cáo thực tập tuần 5 - Phạm Tiến QuânQuân Quạt Mo
 
[TTDD] C9 letunghoa 2013 LTE.pdf
[TTDD] C9 letunghoa 2013 LTE.pdf[TTDD] C9 letunghoa 2013 LTE.pdf
[TTDD] C9 letunghoa 2013 LTE.pdfcQun22
 

Similar to Linux policy routing (20)

Bao cao thuc tap tuan 1
Bao cao thuc tap tuan 1Bao cao thuc tap tuan 1
Bao cao thuc tap tuan 1
 
Khái niệm về eigrp 1
Khái niệm về eigrp 1Khái niệm về eigrp 1
Khái niệm về eigrp 1
 
Tổng quan về định tuyến tĩnh và
Tổng quan về định tuyến tĩnh vàTổng quan về định tuyến tĩnh và
Tổng quan về định tuyến tĩnh và
 
Cai dat va_cau_hinh_iptables
Cai dat va_cau_hinh_iptablesCai dat va_cau_hinh_iptables
Cai dat va_cau_hinh_iptables
 
Báo cáo thực tập athena trần trọng thái
Báo cáo thực tập athena trần trọng tháiBáo cáo thực tập athena trần trọng thái
Báo cáo thực tập athena trần trọng thái
 
Chuong04_ACL.NAT_update (2).pptx
Chuong04_ACL.NAT_update (2).pptxChuong04_ACL.NAT_update (2).pptx
Chuong04_ACL.NAT_update (2).pptx
 
Bao cao thuc tap eigrp ac_ls
Bao cao thuc tap eigrp ac_lsBao cao thuc tap eigrp ac_ls
Bao cao thuc tap eigrp ac_ls
 
OSPF
OSPFOSPF
OSPF
 
Các giao thức định tuyến trong mạng AD-HOC
Các giao thức định tuyến trong mạng  AD-HOCCác giao thức định tuyến trong mạng  AD-HOC
Các giao thức định tuyến trong mạng AD-HOC
 
Báo cáo thực tập tuần 5 - Phạm Tiến Quân (word)
Báo cáo thực tập tuần 5 - Phạm Tiến Quân (word)Báo cáo thực tập tuần 5 - Phạm Tiến Quân (word)
Báo cáo thực tập tuần 5 - Phạm Tiến Quân (word)
 
Mai kim thi Báo cáo thực tập Tuần 2
Mai kim thi   Báo cáo thực tập Tuần 2Mai kim thi   Báo cáo thực tập Tuần 2
Mai kim thi Báo cáo thực tập Tuần 2
 
Bai giang quan tri mang-CHƯƠNG 2- Cac ky thuat DINH TUYEN.pdf
Bai giang quan tri mang-CHƯƠNG 2- Cac ky thuat DINH TUYEN.pdfBai giang quan tri mang-CHƯƠNG 2- Cac ky thuat DINH TUYEN.pdf
Bai giang quan tri mang-CHƯƠNG 2- Cac ky thuat DINH TUYEN.pdf
 
Lab 2 phân loại dùng mô hình mqc
Lab 2 phân loại dùng mô hình mqcLab 2 phân loại dùng mô hình mqc
Lab 2 phân loại dùng mô hình mqc
 
02 routing protocol-khai niem phan loai
02 routing protocol-khai niem phan loai02 routing protocol-khai niem phan loai
02 routing protocol-khai niem phan loai
 
02 routing protocol-khai niem phan loai
02 routing protocol-khai niem phan loai02 routing protocol-khai niem phan loai
02 routing protocol-khai niem phan loai
 
Bc3
Bc3Bc3
Bc3
 
Bao cao thuc tap ospf
Bao cao thuc tap ospfBao cao thuc tap ospf
Bao cao thuc tap ospf
 
Khac nhau bridge & route cho cấu hình cisco 878 megawan
Khac nhau bridge & route cho cấu hình cisco 878 megawanKhac nhau bridge & route cho cấu hình cisco 878 megawan
Khac nhau bridge & route cho cấu hình cisco 878 megawan
 
Báo cáo thực tập tuần 5 - Phạm Tiến Quân
Báo cáo thực tập tuần 5 - Phạm Tiến QuânBáo cáo thực tập tuần 5 - Phạm Tiến Quân
Báo cáo thực tập tuần 5 - Phạm Tiến Quân
 
[TTDD] C9 letunghoa 2013 LTE.pdf
[TTDD] C9 letunghoa 2013 LTE.pdf[TTDD] C9 letunghoa 2013 LTE.pdf
[TTDD] C9 letunghoa 2013 LTE.pdf
 

Linux policy routing

  • 1. AN INTRODUCTION TO LINUX POLICY ROUTING
  • 2. Traditional IPv4 Routing Trường hợp đơn giản nhất. T-D - Định tuyến là quá trình tìm đường đi của một gói tin và forward - Định tuyến truyền thống dựa nào địa chỉ IP đích trong IP header để chọn ra tuyến đường phù hợp. => Tất cả các traffic đến cùng 1 đích đều đi chung một đường.
  • 3. Policy Routing Theory TM Bạn lái xe ra đường => gặp ngã ba => chỉ có rẽ trái hoặc rẽ phải. Rẽ bên nào phụ thuộc vào việc bạn muốn đi đâu. => Định tuyến dựa trên đích đến
  • 4. Policy Routing Theory - Phức tạp hơn, khi bạn lái xe đến một ngã 6. - Cả 6 hướng đều có thể đi đến đích mà bạn mong muốn. + Gần, đẹp, tối đa 80km/h, cấm ô tô + Nhiều sỏi, chỉ cho xe lu + Đường xa chỉ dành cho xe đạp + Phố đi bộ + Đường dành riêng cho xe bus => Lúc này việc chọn đi đường nào phụ thuộc vào bạn muốn đi đâu và thêm bạn đang đi bằng phương tiện gì. => Định tuyến dựa vào địa chỉ IP đích + các yếu tố khác của gói tinnhư source, protocol, port, thậm chí cả payload được gọi là Policy Routing
  • 5. Có gì hay ? ● Source-Based Transit Provider Selection: nhóm user khác nhau sẽ đi qua các ISP khác nhau. ● QoS: Phân loại traffic và dành độ ưu tiên khác nhau ● Cost Savings: phân loại traffic theo các tuyến high-bandwidth, low-cost. ● Load Sharing: cân tải, giả sử đến cùng một đích sẽ load qua nhiều line khác nhau, khác với định tuyến truyền thống. ● Performance Improvement: với các line có MTU khác nhau, có thể chọn line có MTU hợp lý nhất để tránh phân mảnh.
  • 6. Kiềng 3 chân - Address, Route, Rule ● Thành phần cốt lõi của định tuyến dựa trên chính sách gồm có 3 yếu tố - Address: đi đến đâu - Route: đi đường nào - Rule: đi bằng gì, đi từ đâu … ● Sự tương tác của 3 yếu tố tạo ra sự linh hoạt và phức tạp trong định tuyến Không liên quan ( Có thể bạn chưa biết hoặc Có thể bạn biết rồi) "Có một và chỉ một mặt phẳng đi qua ba điểm không thẳng hàng" => 3 chân vững hơn 4 chân, 5 chân ...
  • 7. Rule ● Thành phần mới, có xét đến thứ tự ● Một dạng như flow control < if … then … >, một phương pháp để thực hiện ACL (Access Control List). ● Rule cho phép thực hiện filter, match một số điều kiện xác định, rồi xác định route nào được sử dụng khi điều kiện thỏa mãn. ● Thường dùng: route dựa vào source address ● rule types : prohibit, nat, unreachable, blackhole, unicast
  • 8. Multiple Routing Tables ● Bạn có 3 đường đến FILESERVER : slow_link, medium_link, fast_link ● Nhóm HCNS chỉ tải các file dung lượng thấp (word, excel) => có thể dùng slow_link ● Nhóm VCCLOUD tải các file image (iso) => cần fast_link ● Nếu chỉ có 1 bảng định tuyến, bạn chỉ có thể có 1 route đến FILESERVER. Bạn chọn slow_link hay fast_link. => Sử dụng multipe routing table. Bảng A chứa slow_link, bảng B chưa fast_link, kết hợp rule ● ip rule add from HCNS to FILESERVER table A ● ip rule add from VCCLOUD to FILESERVER table B
  • 9. Routing tables được định nghĩa trong: /etc/iproute2/rt_table
  • 10. - Thêm bảng định tuyến echo “200 hcns” >> /etc/iproute2/rt_tables - Thêm route vào bảng định tuyến ip route add $dest via $nexthop dev $interface table hcns VD: ip route add 8.8.8.8 via 192.168.234.1 dev eth0 table hcns - Thêm forwarding policies ip rule add from HCNS table hcns pref 100
  • 11. ip rule (simplified) usage ● ip rule add - insert a new rule ip rule ● ip rule delete - delete a rule from PREFIX: select the source prefix to match. to PREFIX: select the destination prefix to match. Iif NAME: select the incoming device to match. Oif NAME: select the outgoing device to match. Tos TOS: select the TOS value to match. Fwmark MARK: select the fwmark value to match. priority PREFERENCE the priority of this rule. Table TABLEID: the routing table identifier to lookup if the rule selector matches. ● ip rule flush - also dumps all the deleted rules ● ip rule show - list rules
  • 12. ● Khi gói tin đến router, kernel sẽ tìm route phù hợp dựa trên các rule trong hệ thống. Bắt đầu từ highest priority , rule có prefer là 0. ● Nếu không tìm thấy route trong rule này, sẽ tiếp tục tìm trong các rule khác match với gói tin đó cho đến hết. ● Priority: 0, Selector: match anything, routes for local and broadcast addresses. Rule 0 is special. It cannot be deleted or overridden. ● Priority: 32766, Selector: match anything, Action: lookup routing table main (ID 254). The main table is the normal routing table containing all non-policy routes. This rule may be deleted and/or overridden with other ones by the administrator. ● Priority: 32767, Selector: match anything, Action: lookup routing table default(ID 253). The default table is empty. It is reserved for some post-processing if no previous default rules selected the packet. This rule may also be deleted
  • 13. PBR simple set-up ● Specification * Traffic from LAN A => link_slow * Traffic from LAN B => link_fast * Traffic from LAN A, host 10.0.0.101 => link_fast ● Suggested workflow * Define how many tables we need * Add and configure any extra routing table * Set the policies pointing to any extra table (attention to the rule priorities!!!)
  • 14. PBR complex set-up Specification (with this priority order. i.e.: the first matching rule wins!) ● DNS traffic => link slow ● SSH traffic => link fast ● TCP traffic with dports 40000:40100 => link_medium ● Traffic from host 10.0.0.101 => link_medium ● WEB traffic => link medium ● Traffic from LAN SOHAGAME => link_slow ● Traffic from LAN ADMICRO => link_medium
  • 15. Solution #set ENV variables! SLOW=“-j mark --set-mark 1” MEDIUM=“-j mark --set-mark 2” FAST=“-j mark --set-mark 3” #set the netfilter rules iptables -A PREROUTING -m mark --mark 0 -p udp --dport 53$SLOW iptables -A PREROUTING -m mark --mark 0 -p tcp --dport 22$FAST iptables -A PREROUTING -m mark --mark 0 -p tcp -m multiport --dports40000:40100 $MEDIUM iptables -A PREROUTING -m mark --mark 0 -s 10.0.0.101$MEDIUM iptables -A PREROUTING -m mark --mark 0 -p tcp -m multiport --dports 80,433 $MEDIUM #the last two policies (from LAN SOHA and LAN ADMICRO) ip rule add pri 23000 from 10.0.0.0/24 table link_slow ip rule add pri 23001 from 10.1.0.0/24 table link_medium
  • 16. Solution # create the extra tables echo "200 link_slow" >> /etc/iproute2/rt_tables echo "201 link_medium" >> /etc/iproute2/rt_tables # add the default routes to the new tables ip route add default via 1.0.0.2 table link_slow ip route add default via 3.0.0.2 table link_medium # add the routing policies. ip rule add pri 20000 fwmark 1 table link_slow ip rule add pri 21000 fwmark 2 table link_medium ip rule add pri 22000 fwmark 3 table main
  • 17. Truy cập blog.vccloud.vn để xem thêm các bài viết hấp dẫn khác.