3. FAIR NAT
3.2. Các tham số và Cấu hình
Chương trình này không có file cấu hình.Nó có một số cấu hình mặc định sẽ được load lên khi bạn chạy chương trình.Bạn có thể thay đổi cấu hình đó trong khi chạy.Sau đây là các tham số bạn cần biết để cấu hình chương trình này :
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
LAN
DEV_LAN :
Thiết bị mạng cục bộ mà các client của bạn kết nối vào .Vd eth0,eth1
RATE_LAN
Tốc độ của mạng LAN tính theo kbit/s.Tốc độ này thì lớn hơn tốc độ kết nối internet.Nên nhớ là phải dùng giá trị thật sự chứ không được sử dụng giá trị như 10/100 Mbps trên mạng 10/100Mbps .Bởi vì thường thì bạn không đạt được tốc độ tối ưu như vậy do overhead ,do đụng độ và tắc nghẽn
INTERNET
DEV_NET
Thiết bị mạng của kết nối internet .Ở đây là ppp0
RATE_UP
Tốc độ upload của kết nối internet tính bằng kbit/s.
RATE_DOWN
Tốc độ download của kết nối internet .Giống như RATE_UP
RATE_SUB_PERCENT
Nếu modem của bạn hoặc của ISP có các hàng đợi ,bạn nên làm
RATE_LOCAL_PERCENT
Băng thông của đường internet mà bạn nên đạt tới là bao nhiêu ?.Thường thì,các thiết bị yêu cầu một số băng thông cho các DNS request(nếu nó hoạt động như một DNS cacher),cho các truy cập SSH từ ngoài vào trong và
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
ngược lại.Theo mặc định ,5% của bandwidth được dùng cho các trường hợp này .
CLIENTS
USERS
Xác định user nào cần NAT ( những người cần dùng PC này như một
gateway để ra ngoài internet ).Các user được xác định dựa trên địa chỉ IP và phải trên cùng một subnet với thiệt bị mạng LAN của bạn ( ở đây là cổng Ethernet ví dụ eth0 ).Do đó chỉ cần số cuối cùng trong dãy địa chỉ IP là được .Ví dụ địa chỉ IP của gateway là 192.168.1.1 và user là 192.168.1.186 thì chỉ cần đưa vào giá trị 186 khi cấu hình.Chương trình này cũng cho phép nhóm các IP (cho User có nhiều hơn một máy trong mạng ) bằng cách dùng “:” .VD “3 4 7:9:12 42 128” là đại diện của 5 người dùng .Trong đó có một người có 3 máy với các địa chỉ IP lần lượt là
User1 :192.168.1.3 User2 :192.168.1.4
User3 :192.168.1.7,192.168.1.9,192.168.1.12 User4 :192.168.1.42
User5:192.168.1.128
Trong Fair NAT 0.79,bạn có thể chỉ định tốc độ trần download/upload của mỗi User.VD: 17@300 giới hạn địa chỉ IP 192.168.1.17 chỉ được download tối đa 300kbit/s. 17@300|50 giới hạn thêm tốc độ upload là 50 Kbit/s. 17@ | 50 chỉ giới hạn tốc đô upload.
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
Chỉ định port nào sẽ được NAT với User nào ( DNAT ) .Cú pháp là : user port user port …
Ở đây, user là số cuối cùng của địa chỉ IP tương ứng với user đó,còn port thì có thể là giá trị port (vd 3000 ) hoặc là một khoảng giá trị ( vd 3000:4000) Vd : “ 3 5000 9 6000:6100 9 6300:6400 42 7000”
Từ ví dụ trên ,ta thấy là đối với cùng một địa chỉ IP thì có thể chỉ định nhiêu khoảng giá trị port khác nhau. Câu lệnh trên cũng cho thấy port 5000 sẽ được forward cùng với địa chỉ IP là 3(192.168.1.3:5000) và tương tự như vậy cho các địa chỉ IP kia.
Nếu không muốn forward port cùng với địa chỉ IP ,bạn chỉ cần cho PORTS=””
CLASS_MODE
Hãy sử dụng giá trị mặc định cho tham số này .
BORROW
Tham số này cho phép một User mượn bandwidth từ một User khác khi người đó không có nhu cầu sử dụng vào thời điểm đó.Theo cách này ,chúng ta có thể sử dụng bandwidth một cách tối ưu.Nếu không muốn thực hiện điều này ,bạn chỉ cần set giá trị cho biến BORROW này là 0.Như vậy ,mỗi User chỉ có thể sử dụng bandwidth đã được cấp cho riêng họ ,bất kể là đường line đang rất trống.
USER_CEIL_UP
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
một User nào có nhiều hơn 300 Kbit/s trên một đường line có tốc đô 500 Kbit/s
USER_CEIL_DOWN
Tương tự như User_CEIL_UP .Nhưng ảnh hưởng đối với tốc độ download BINARIES
BIN_TC
Cần phải có file tc với HTB để thực thi chương trình này.Theo mặc định ,chương trình này sẽ tìm file tc-htb hoặc tc
BIN_IPT Iptables BIN_IFC Ifconfig BIN_GREP Grep BIN_SED Sed BIN_ECHO Echo BIN_MODPROBE Modprobe
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router 3.2.1. 3.2.2. Các tham số dòng lệnh help version
Hiển thị phiên bản của chương trình này
stop
Xác lập lại Iptables và Traffic Shaping thành rỗng
info
Hiển thị thông tin cấu hình của bạn
<config-file>
File cấu hình của chương trình.Tuy nhiên ,sử dụng rất phiền phức
Chạy Script
Để chạy script này ,bạn chỉ cần chuyển đến thư mục hiện hành và chạy như một shell bình thường
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
Chương 6
THỬ NGHIỆM, ĐÁNH GIÁ và HƯỚNG
PHÁT TRIỂN
1. Thử nghiệm chức năng Linux PC làm router ADSL
1.1. Kết nối vào internet và cho phép máy trong mạng LAN có thể ra ngoài ngoài
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
Hình 6.5 Client có thể truy cập internet
1.1.2. So sánh giữa Linux PC và Router ADSL thật
Cách thử nghiệm : Sử dụng Router thật để kết nối ra internet và sau đó upload 1 file (>5 MB) .Ghi nhận packet gửi ra và thời gian thực hiện
Thực hiện tương tự với PC Linux làm Router
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
Router thật Linux PC Packet Thời gian Thời gian packet
Lần 1 5827 4 : 35 5856 4:55
Lần 2 5797 4 : 49 5736 5:16
Lần 3 5771 4 : 37 5806 5:40
Trung bình 5798.33 4 : 4 5799.33 5 : 03 Bảng 6.1 So sánh kết quả thử nghiệm giữa Router thật và Linux PC
1.2.Chức năng filter
Chúng ta sử dụng các câu lệnh sau đây để thiết lập filter sao cho các packet có source address là 192.168.1.2 sẽ không ra ngoài internet được nữa
Iptables –A INPUT –s 192.168.1.2 –j DROP
Chúng ta dùng lệnh iptables –L để kiểm tra lại cấu hình vừa thiết lập. Màn hình sẽ hiện ra giống như hình
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
Hình 6.7 Client bị filter
Hình trên cho thấy PC có IP address là 192.168.1.2 đã không còn ra ngoài internet được nữa do đã bị filter.
Đánh giá
Như vậy kết quả của chức năng filter của Linux PC là tốt. Đây cũng là tính năng mới mà các ADSL Router thông thường bên ngoài thị trường không có được
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
1.2. Dynamic DNS
Chúng tôi tiến hành thử nghiệm bằng cách đăng kí một account trên trang web no-ip.com. Chúng tôi cũng lấy tên miền trong thử nghiệm này là gira.no- ip.info. Địa chỉ IP Address lúc đầu đăng kí là 203.210.207.236. Sau đó, chúng tôi stop kết nối và start lại. IP address của chúng tôi lúc này đã thay đổi là 222.253.84.7. Giả sử đây là web server của chúng tôi thì rõ ràng là nếu không cập nhật ip address lại ngay thì các client muốn truy cập vào trang web của chúng tôi sẽ không được nữa do lúc này các DNS server sẽ vẫn phân giải tên miển gira.no-ip.info thành địa chỉ là 203.210.207.236. Rất may, chúng tôi chỉ cần chạy chương trình dynamic dns client lên và địa chỉ của chúng tôi sẽ được cập nhật ngay. Dưới đây là một số hình ảnh minh họa các thao tác cập nhật ip address thông qua no-ip.com và chương trình no-ip dynamic dns client
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
Hình 6.10 Địa chỉ IP cũ trong DNS
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
Hình 6.12 IP address được cập nhật lên DNS
2. Hướng phát triển
Do Linux là mã nguồn mở và liên tục được phát triển bởi một cộng đồng mã mở rất lớn trên internet nên luôn có sẵn các tài nguyên hữu ích cho bạn đê nghiên cứu và phát triển thêm cho Router ADSL với Linux PC
Giờ đây ,bạn có thể tìm hiểu và phát triển theo một số hướng gợi ý sau : Fair Nat hiện tại còn nhiều khiếm khuyết ,bạn có thể tham gia đóng góp và bổ sung cho Fair Nat
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
gói no-ip
Sử dụng Linux vừa làm Router vừa làm Proxy bổ sung thêm IPSec hay SSH
Đối với các doanh nghiệp vửa và nhỏ, đặc biệt là Internet Café, cần có hai đường ADSL để đáp ứng số lượng lớn lượt truy cập internet, có thể dùng PCLinux thực hiện tính năng Load Balancing bằng tiện ích EQL trong Kernel Linux, thay vì mua thiết bị Load Balancing với giá cao, cấu hình thấp, không có khả năng mở rộng.
Đóng gói tính năng ADSL Router để người dùng dễ sử dụng, nhất là những người dùng không chuyên.
Không chỉ với Linux, có thể phát triển hướng nghiên cứu sang Windows – hệ điều hành phổ biến được nhiều người sử dụng nhất hiện nay.
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
TÀI LIỆU THAM KHẢO
Website: 1. http://www.no-ip.com 2. http://metalab.unc.edu/mdw/HOWTO/NET-3-4-HOWTO- 6.html#ss6.2 3. http://ipmasq.home.ml.org/ 4. http://www.indyramp.com/masq/links.pfhtml 5. http://metalab.unc.edu/mdw/HOWTO/IP-Masquerade- HOWTO.html 6. http://www.metamorpher.de/ 7. http://www.docum.org/docum.org/ 8. http://patrick.spacesurfer.com Sách:
1. Brian Morgan, CCNP BCRAN Exam Certification Guide Second Edition, Cisco Press, Indiana, 2003
2. Wendell Odom, CCNA ICND Exam Certification Guide, Cisco Press, Indiana
3. Nguyễn Phương Lan-Hoàng Đức Hải, Lập Trình Linux 1, Nhà Xuất Bản Giáo Dục, TPHCM, 2001
4. Nguyễn An Tân-Nguyễn Thị Điệp, Hệ Điều Hành UNIX, Đại Học Khoa Học Tự Nhiên
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
Bài Báo Cáo :
1. Daniel Lopez Ridruejo, ridruejo@rawbyte.com, The Linux Networking Overview HOWTO, version 0.37, 2000
2. Martin A. Brown. mabrown@secureipe.com, Traffic Control HOWTO, version 1.0.1, 2003
3. Dan Singletary, dvsing@sonicspike.net, ADSL Bandwidth Management HOWTO, version 1.3, 2003
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
PHỤ LỤC
CÁC HÌNH VẼ TRONG LUẬN VĂN
Hình vẽ Trang
Hình 1.1 Mô hình hiện trạng ADSL 6
Hình 1.2 Mô hình sử dụng ADSL với PC Linux làm Router 8
Hình 1.3 Mô hình Dynamic DNS 10
Hình 2.1 Biểu đồ so sánh tốc độ các công nghệ mạng 19
Hình 2.2 Mô hình ADSl 19
Hình 2.3 ADSL – Local loop 20
Hình 2.4 Dải phổ ADSL sử dụng 21
Hình 2.5 Mô hình ADSL 22
Hình 2.6 Mô hình dải phổ ADSL sử dụng 24
Hình 2.7 Mô hình đầu cuối ADSl 25
Hình 2.8 Thiết bị DSLAM 27
Hình 2.9 Thiết bị BAS 27
Hình 2.10 ADSL-PPP 29
Hình 2.11 ATM 29
Hình 2.12 Modem Zoom 5554 X5 và Modem Planet ADE 4100 34
Hình 2.13 Mô hình NAT 46
Hình 3.1 Mô hình kiến trúc Linux 49
Hình 4.1 Quá trình xử lý của dịch vụ DynDNS 59
Hình 4.2 Chiến lược FIFO 61
Hình 4.3 Qui tắc hàng đợi Linux 64
Hình 4.4 Chiến lược Round Robin 65
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
Hình 4.6 Lớp HTB 72
Hình 5.1 Linux Router Network Diagram 78
Hình 6.1 Telnet vào Zebra thông qua port 2601 để cấu hình Routing 89 Hình 6.2 Màn hình khi dùng câu lệnh show running-config trong Zebra
90
Hình 6.3 Kết nối đã thiết lập 91
Hình 6.4 Cấu hình NAT 92
Hình 6.5 Client có thể truy cập internet 93
Hình 6.6 Cấu hình Filter 95
Hình 6.7 Client bị filter 96
Hình 6.8 Xem địa chỉ IP hiện thời của PPP0 97 Hình 6.9 Dùng nslookup để phân giải tên miền gira.no-ip.info 98
Hình 6.10 Địa chỉ IP cũ trong DNS 99
Hình 6.11 Chạy chương trình dynamic dns client 100 Hình 6.12 IP address được cập nhật lên DNS 101
Xây dựng thử nghiệm PC Linux hoạt động như một ADSL Router
CÁC BẢNG BIỂU TRONG LUẬN VĂN
Tên bảng Trang Bảng 2.1 Thông số kỹ thuật của đường truyền Tx và Ex 15
Bảng 2.2 Bảng so sánh các đường truyền 16
Bảng 2.3 Bảng so sánh Routing và Switching 36
Bảng 4.1 Các thông số của lớp HTB 71