Tạo chương trình P2P trên mạng sử dụng router băng thông rộng Nguồn : quantrimang.com Nếu bạn đã xây dựng một mạng bằng router băng thông rộng, router này sẽ tự động ngăn chặn bất kỳ mộ
Trang 1Tạo chương trình P2P trên mạng sử dụng router băng thông rộng
Nguồn : quantrimang.com
Nếu bạn đã xây dựng một mạng bằng router băng thông rộng, router này
sẽ tự động ngăn chặn bất kỳ một chương trình chia sẻ file ngang hàng nào (eMule, Shareaza,…) làm việc trong mạng của bạn: có thể nó sẽ hiển thị
“firewalled” hoặc “low ID” Hệ quả là bạn sẽ phải chịu tốc độ truyền tải thấp hơn và cũng không thể khởi tạo việc download file từ người dùng cũng bị “firewalled” Trong hướng dẫn này chúng tôi sẽ giới thiệu cho các bạn cách cấu hình router sao cho cho phép các chương trình chia sẻ file ngang hàng có khả năng làm việc
Vấn đề sở dĩ xảy ra như vậy là vì các chương trình ngang hàng (gọi tắt là P2P)
sử dụng các cổng non-standard để làm việc Do các router băng thông rộng làm việc như một tường lửa nên chúng sẽ khóa tất cả các kết nối có sử dụng các cổng non-standard Chính vì vậy theo lý thuyết nó sẽ là vấn đề mở cổng để cho các chương trình P2P có thể sử dụng panel điều khiển router băng thông rộng
để giải quyết vấn đề này Tuy vậy điều này không đơn giản Thông thường bằng việc mở đơn các cổng một cách đơn giản trên các chương trình tường lửa, bạn
có thể truy cập vào máy chủ trên Internet bằng các cổng đó, nhưng nó không cho phép các máy tính khác trên Internet có thể truy cập vào máy tính của bạn Nói theo cách khác, khi tường lửa cho phép các kết nối gửi ra (outgoing) thì nó vẫn hoạt động một cách bình thường và khóa các kết nối gửi vào (incoming) Lưu ý rằng khi sử dụng các chương trình P2P, máy tính của bạn sẽ làm việc như một máy chủ, phân phối file (và các phần của file không đầy đủ) đến người dùng khác
Trong hướng dẫn này chúng tôi sẽ sử dụng eMule với tư cách là ví dụ Ý tưởng
cơ bản được thể hiện trong hướng dẫn này là đều như vậy cho các chương trình khác; chỉ có một thứ khác là vị trí chính xác của các phần cần thay đổi trên
chương trình Bạn sẽ có thể áp dụng hướng dẫn này đối với các chương trình khác một cách nhanh chóng
Đầu tiên chúng ta hãy xem xét một chút đến vấn đề Sau khi download và cài đặt
eMule trên máy, nhấn vào “Connect”, khi đó bạn sẽ nhận được trạng thái “low ID”, như thể hiện trong hình 1 (theo mũi tên đỏ) (Với lý do bảo mật nên chúng tôi
đã xóa địa chỉ IP trên màn hình này)
Trang 2Hình 1: Trạng thái low ID với eMule
Để kiểm tra kết nối của bạn, vào to Options > Connection và kích vào Test Ports Thao tác này sẽ kiểm tra kết nối để kiểm tra xem mọi người trên Internet
có thể truy cập vào các file trong máy tính của bạn hay không Do gặp phải vấn
đề low ID nên kết quả sẽ không khác hơn so với hình thể hiện trong hình 2
Trang 3Hình 2: Kiểm tra kết nối đã bị thất bại
Mục tiêu trong hướng dẫn này là làm cho máy tính của bạn qua được bài test này, như vậy sẽ có được trạng thái high ID trong eMule
Thứ đầu tiên mà chúng ta nên thực hiện đó là cấu hình lại eMule để sử dụng một tập các cổng TCP/IP khác Trong phiên bản eMule ví dụ trong bài đã cài đặt, nó đang sử dụng các cổng 19034 cho giao thức TCP và 17157 cho giao thức UDP Bạn cần thay đổi thành 4660 cho giao thức TCP và 4670 cho giao thức UDP
Thao tác này được thực hiện trên trong Options > Connection Trong hình 3,
bạn có thể thấy được eMule đã được cấu hình như thế nào và trong hình 4
eMule đã được cấu hình đúng Không quên kích “Apply” sau khi thay đổi cấu
hình này Thoát eMule
Trang 4Hình 3: Các cổng eMule đang sử dụng
Trang 5Hình 4: eMule đã được cấu hình đúng Nếu bạn sử dụng một chương trình P2P khác thì bạn nên vào menu cấu hình của nó và thay đổi các cổng TCP và UDP mặc định thành các số đã gợi ý trong bài với mục đích tạo sự dễ dàng hơn để theo dõi tiếp hướng dẫn này
Bây giờ chúng ta cần cấu hình tường lửa bên trong của Windows XP
Cấu hình tường lửa của Windows XP
Windows XP SP2 có một tường lửa bên trong có thể khóa các kết nối P2P (nếu bạn không có SP2 đã được cài đặt thì sẽ không có Windows Firewall) Chính vì vậy chúng tôi phải cấu hình Windows XP để mở các cổng đã sử dụng Nếu bạn
có một chương trình tường lửa khác đã được cài đặt như ZoneAlarm hoặc Norton Personal Firewall, thìcần phải tạo một thủ tục trên chương trình tường lửa của mình Sau khi chạy chương trình P2P lần đầu tiên, bạn có thể mở khóa
nó trên Windows Firewall (bằng cách kích vào Unblock trên màn hình như trong
Trang 6hình 5 bên dưới) nhưng tất cả điều đó là chưa đủ
Hình 5: Windows hỏi có muốn mở khóa chương trình P2P khi chạy nó lần đầu
tiên
Mở Control Panel > Windows Firewall và kích vào tab Exceptions Chương
trình P2P của bạn có thể sẽ được liệt kê ở đây (có thể như trong hình 6), eMule
đã được liệt kê Nếu không, bạn kích vào Add program và chọn chương trình
P2P của mình
Trang 7Hình 6: Cấu hình tường lửa Windows Thậm chí nếu chương trình P2P của bạn đã được liệt kê trong tab Windows
Firewall Exceptions thì cũng vẫn phải kích vào Add port Sau đó đặt tên cho
nguyên tắc này (ví dụ như “eMule TCP Port”), thêm số cổng TCP mà eMule sử
dụng (4660), chọn “TCP” và kích OK (xem hình 7)
Trang 8Hình 7: Thêm cổng TCP đã được sử dụng bởi eMule
Tiếp tục kích một lần nữa vào Add port, đặt tên cho nguyên tắc này (ví dụ như
“eMule UDP Port”), thêm số cổng UDP mà eMule sử dụng (4670), chọn “UDP”
và kích OK (xem hình 8)
Hình 8: Thêm cổng UDP đã được sử dụng bởi eMule Những nguyên tắc mới lúc này sẽ được liệt kê trong tab Windows Firewall Exceptions, xem hình 9
Trang 9Hình 9: Những ngoại lệ của Windows Firewall
Lúc này kích tab Advanced Màn hình thể hiện trong hình 10 sẽ được bật ra Kích vào nút Settings đầu tiên trong trường "Network Connection Settings"
Trang 10Hình 10: Windows Firewall Như những gì bạn thấy trong hình 11, ở đây sẽ không có cấu hình nào cho
chương trình P2P của bạn, chính vì vậy chúng ta cần phải thêm vào hai cấu hình
ở đây, mỗi một cấu hình cho một giao thức (TCP và UDP)
Trang 11Hình 11: Các thiết lập nâng cao của tường lửa
Kích Add, sau đó nhập vào tên cho cấu hình này (ví dụ như “eMule TCP Port”),
tên máy tính hoặc địa chỉ IP máy tính của bạn đang sử dụng, số cổng TCP
(4660) trong cả hai trường “External Port number” và “Internet port number”, kích
TCP và kích OK Trong trường hợp bài này, chúng tôi đã sử dụng tên máy tính
là “Gabe”
Nếu bạn không biết tên máy tính của mình, hãy vào Control Panel > System > chọn tab Computer Name Nó sẽ hiển thị tên máy tính của bạn ở đây Nếu bạn thích sử dụng địa chỉ IP của máy tính và không biết nó thì bạn hãy kích vào Start
> Run > Cmd sau đó đánh Ipconfig và nhấn Enter Lệnh này sẽ liệt kê địa chỉ
IP máy tính mà bạn đang sử dụng Chúng tôi biết rằng địa chỉ IP máy tính của bạn có thể thay đổi nhưng sẽ cấu hình router để gán cùng một địa chỉ IP ở phần dưới, chính vì vậy bạn không lo về vấn đề này
Trang 12Hình 12: Thêm cổng TCP đã được sử dụng
Bây giờ lặp lại quá trình cho cổng UDP: kích Add, sau đó nhập vào tên cho cấu
hình này (ví dụ như “eMule UDP Port”), tên máy tính hoặc địa chỉ IP máy tính của bạn đang sử dụng, số cổng UDP (4670) trong cả hai trường “External Port
number” và “Internet port number”, tích UDP và kích OK
Hình 13: Thêm cổng UDP đã được sử dụng
Lúc này bạn sẽ thấy cả hai cấu hình đã chọn trên tab “Windows Firewall
advanced settings”, xem trong hình 14
Trang 13Hình 14: Các cấu hình sử dụng eMule hiện trong chế độ sử dụng
Kích OK và lúc này bạn đã cấu hình xong Windows Firewall
Bước tiếp theo chúng ta sẽ cấu hình router
Cấu hình router
Tên các tùy chọn cho cấu hình router của bạn sẽ thay đổi phụ thuộc vào loại router và model của nó Trong các ví dụ của bài, chúng tôi sử dụng router D-Link DI-524
Thứ đầu tiên mà bạn cần phải thực hiện ở đây là vào panel điều khiển của
router Nếu bạn không biết cách vào hãy đọc hướng dẫn của chúng tôi về thiết lập một mạng bằng router băng thông rộng
Ở đây bạn cần tìm tùy chọn có tên gọi là “Virtual Server” hoặc tương tự Trong
router này, tùy chọn này là tùy chọn đầu tiên nằm trong phần “Advanced”, xem
trong hình 15
Trang 14Hình 15: Tùy chọn máy chủ ảo
Ở đây bạn cần chọn “Enable”, đặt tên cho cấu hình này (ví dụ như “eMule TCP Port”), nhập vào địa chỉ IP máy tính của bạn (hoặc máy tính đang chạy chương trình P2P), tích TCP, nhập vào số cổng TCP (4660) trong cả hai trường “Private Port” và “Public Port” (các trường này cũng có tên gọi tương ứng là “Internal
Port” và “External Port”), chọn Always và kích Apply Nếu bạn không biết địa chỉ
IP máy tính của mình, hãy kích Start > Run > Cmd sau đó đánh vào Ipconfig, nhấn Enter Lệnh này sẽ liệt kê địa chỉ IP mà máy tính bạn đang sử dụng
Trang 15Hình 16: Mở cổng TCP đã được sử dụng bởi eMule
Lặp lại quá trình trên với cổng UDP: chọn “Enable”, đặt tên cho cấu hình này (ví
dụ như “eMule UDP Port”), nhập vào địa chỉ IP máy tính của bạn (hoặc máy tính đang chạy chương trình P2P), tích UDP , nhập vào số cổng UDP (4670) trong cả hai trường “Private Port” và “Public Port” (các trường này cũng có tên gọi tương
ứng là “Internal Port” và “External Port”), chọn Always và kích Apply
Trang 16Hình 17: Mở cổng UDP đã được sử dụng bởi eMule Lúc này bạn sẽ thấy ở đây hai nguyên tắc mới đã được thêm và kích hoạt trong phần Virtual Server của router, xem trong hình 18
Trang 17Hình 18: Các cổng TCP và UDP của eMule đã được mở trên router của bạn
Lúc này bạn cần làm cho router luôn gán cùng một địa chỉ IP cho máy tính, bằng không cấu hình sẽ dừng làm việc nếu router của bạn gán sang một địa chỉ IP khác ở thời điểm tiếp theo khi bật nó
Bạn cần tìm cấu hình DHCP trong panel điều khiển router của bạn Trong router
của bài này thì nó nằm ở Home > DHCP Ở đây bạn có thể tìm thấy cấu hình có tên “Static DHCP”
Trang 18Hình 19: Cấu hình DHCP
Việc cấu hình router của bài luôn luôn gán cùng một địa chỉ IP rất dễ dàng
Trong hộp danh sách có tên “DHCP Client” có một danh sách tất cả các máy
tính đã kết nối với router Chính vì vậy rất dễ dàng cho việc chọn máy tính trong
danh sách đó (máy tính có tên “Gabe”), kích “Clone”, chọn Enable sau đó kích Apply
Trang 19Hình 20: Cấu hình router luôn gán cùng địa chỉ IP cho máy tính của bạn
Với cấu hình này, máy tính của bạn sẽ luôn có cùng một địa chỉ IP, chính vì vậy chúng ta sẽ không mất các cấu hình đã thực hiện trước đó
Bây giờ chính là lúc kiểm tra xem mọi thứ đã được cấu hình đúng chưa Bạn vào
chương trình P2P, kích Connect và sẽ nhận được trạng thái “open” hoặc high ID
(thay cho “firewalled”), ở mũi tên đỏ trong hình 21 Trong eMule, chúng tôi có thể
chạy lại test bên trong của nó (Option > Connection > Test Port) để xem cấu
hình của mình đã được thực hiện hay chưa, xem hình 22
Trang 20Hình 21: Trạng thái high ID với eMule
Trang 21Hình 22: Kiểm tra kết nối thành công