banner
 .::*nix::. Tự làm VPN đơn giản với m0n0wall Go to original post Author: dusan - Translator:  - Entry Date: 26/02/2009 00:53:08
Tự làm VPN đơn giản với m0n0wall

Chúng tôi là người dùng Windows. Nếu có lỡ viết câu nào sai về các hệ thống *NIX, xin mọi người hãy cười và bỏ qua cho nhé.

Bài này gửi tại forum của hiệp hội hacker HVA để tỏ lòng biết ơn sâu sắc tới những *NIX hackers đã viết ra m0n0wall, một phần mềm nguồn mở hết sức hữu ích.


1. m0n0wall – đặc điểm

m0n0wall http://www.m0n0.ch/wall) là phần mềm chia xẻ Internet và kết nối VPN cho người dùng Internet đầu cuối. Là chọn lựa rất tốt khi bạn muốn:

• chia xẻ một kết nối Internet băng rộng duy nhất cho mạng LAN của mình;
• qua Internet, nối thông mạng LAN của mình với một hay nhiều mạng LAN ở xa (thường được gọi là site-to-site, net-to-net hay gateway-to-gateway VPN);
• sử dụng đồng thời dịch vụ DNS ở cả hai nơi, hay nhiều nơi (split DNS);
• thiết đặt mọi thứ qua giao diện Web; và
• một thiết bị, thường gọi là VPN router, phần cứng rẻ tiền, phần mềm miễn phí, nhưng vẫn đảm bảo ổn định, an toàn.


Có nhiều phần mềm như thế, nhưng m0n0wall nổi bật với:
• kích thước rất nhỏ (< 6 MB);
• không tiếng ồn, tiết kiệm điện (nó chỉ dùng bộ nhớ RAM, không dùng swap và tắt đĩa cứng trong khi làm việc); và
• một giao diện Web hoạt động thật nhanh nhẹn và hình thức thật dễ thương.


m0n0wall không phù hợp cho bạn (rất tiếc) nếu:
• bạn biết và thích dùng những thứ như console, command, config,... để chỉnh thiết bị;
• bạn cần một cache proxy như squid hay một IDS như snort;
• bạn có 2 hay nhiều kết nối Internet và vì thế cần giao thức định tuyến; hoặc
• bạn cần một địa chỉ IP cho kết nối VPN, qua đó có thể định tuyến, cản lọc gói, điều tiết băng thông trong mạng ảo y hệt như trong mạng thực.




2. Chia xẻ kết nối Internet

Chuẩn bị phần cứng:

• một máy tính nhúng với 200-300 MHz x86 CPU, 64 MB RAM, ít nhất 2 giao diện mạng, một cổng serial, card CF (Compact Flash) hoặc IDE flash module 16MB cắm vào IDE slot; hoặc

• một máy tính x86 PC cấu hình tương đương, có bàn phím và màn hình, tốt nhất nên chọn loại nào không dùng quạt mà chỉ dùng cánh tản nhiệt. Một ổ đĩa cứng bất kỳ có thể thay cho card CF / flash module.


Bạn có thể mua hoặc tự lắp một máy tính nhúng chỉ tiêu thụ khoảng 5 - 10W, với chi phí chừng 200 USD. (Trên thị trường, nhiều m0n0wall appliance được bán với giá gấp 2-3 lần như thế.) Máy PC (cũ) rẻ hơn nhiều, có thể rẻ đến mức... không tốn một xu, nhưng sẽ tốn điện hơn nhiều lần.


Chuẩn bị phần mềm:

• m0n0wall binary image tùy theo platform của bạn. Thí dụ nếu platform là máy PC, bạn cần download file generic-pc-xxx.img, trong đó xxx là số hiệu phiên bản m0n0wall. CF và đĩa cứng đều cùng một image.

• một phần mềm làm Certification Authority (CA). Chúng tôi thường dùng một phần mềm nguồn mở chạy trên Windows tên là XCA http://freshmeat.net/projects/xca). Đối với người dùng Linux phần mềm thích hợp có lẽ là TinyCA http://tinyca.sm-zone.net/ )


Để cài đặt và dùng m0n0wall bạn không cần phải biết một chút gì về các hệ thống *NIX nhưng xin viết thêm vài dòng tham khảo. Phiên bản m0n0wall chính thức mới nhất hiện nay là 1.22, dựa trên hệ điều hành FreeBSD 4.11. Việc chuyển đặt m0n0wall lên FreeBSD 6.1 đã diễn ra, nhưng rất chậm. Tác giả ban đầu của nó đã treo giải thưởng 1000 USD và thời hạn đến tháng 10/2006 cho người nào chuyển đặt thành công sớm nhất. Phiên bản 1.22 hiện thời chỉ hỗ trợ vài loại card mạng không dây với chip Prism. Vì thế, bài này sẽ không nói tới thiết lập điểm truy cập không dây - một chức năng sẵn có trong m0n0wall. Nếu bạn có card mạng không dây với chip Atheros, bạn có thể dùng tạm phiên bản 1.2 beta 7 dựa trên FreeBSD 5.3 hoặc 1.3 alpha 3 dựa trên FreeBSD 6.1. http://chrisbuechler.com/m0n0wall/downloads/ ). Nhưng cần chú ý rằng về hiệu suất của phần mềm hệ thống mạng (network stack), so với FreeBSD 4.x, FreeBSD 5.x chậm hơn đến 40% còn FreeBSD 6.x chậm hơn đến 20%. Ở những máy có CPU yếu, sự giảm hiệu suất đó dẫn đến giảm băng thông và nâng cấp phần mềm chưa chắc đã là một quyết định sáng suốt.



Cài đặt:

Ghi image file vào card CF hoặc đĩa cứng. Việc này tương tự như ghi .iso image vào CD. Bạn có thể dùng một tiện ích nhỏ của Windows tên là physwrite.exe (có sẵn trên Website của m0n0wall). Chi tiết xem hướng dẫn sử dụng.

Ghi xong, cắm CF / đĩa cứng vào đúng vị trí cũ. Nếu appliance là PC thì cắm màn hình, bàn phím, còn nếu là máy nhúng thì cắm một PC vào cổng serial để điều khiển (dùng Microsoft Hyperterminal). Boot máy.

Trong các giao diện mạng, chỉ định cái nào bạn chọn làm giao diện LAN và đặt cho nó một địa chỉ IP và netmask, mặc định là 192.168.1.1/24. Đây là lần duy nhất bạn dùng tới console. Từ giờ, bạn có thể rút bỏ màn hình, bàn phím (hoặc dây serial).

Cắm cổng LAN vào switch, cổng WAN vào modem. Nếu bạn dùng ADSL router thì tắt chế độ router, bật chế độ bridge để nó hoạt động như một modem.

Từ Web browser truy nhập trang điều khiển qua địa chỉ IP, tên người dùng là mặc định là admin và mật khẩu mặc định là mono.

m0n0wall boot mặc định với:
• một DHCP client nhận địa chỉ cho giao diện WAN;
• một DHCP server bật sẵn cung cấp địa chỉ IP cho mạng LAN và các địa chỉ DNS servers lấy từ nhà cung cấp dịch vụ Internet;
• một NTP client (msntp) dùng NTP server pool.ntp.org, còn bản thân m0n0wall không có dịch vụ NTP;
• NAT bật sẵn;
• DNS forwarder (dnsmasq) bật sẵn.
• bộ cản lọc gói (ipfilter) mở (thông) cho mọi kết nối hướng ra và đóng (chặn) cho mọi kết nối hướng vào;
• bộ điều tiết băng thông (traffic shaper) tắt.

Bạn có thể bật tắt, chỉnh sửa các dịch vụ nói trên theo nhu cầu thực tế.


Chú ý. Có vài việc thường làm sau khi thiết lập xong đường hầm VPN nhưng chúng tôi viết trước luôn vào đoạn này cho tiện.

1. DNS forwarder cho phép bạn sử dụng DNS của ISP cho nhu cầu giải tên thông thường, đồng thời dùng DNS server khác cho nhu cầu giải tên miền đặc biệt nào đó (thí dụ, mycompany.local.) Khi DNS server "đặc biệt" như thế được đặt ở mạng LAN xa thì bạn chỉ có thể truy nhập được qua đường hầm VPN. Nếu bạn muốn chuyển DNS query vào một DNS server ở xa xuyên qua đường hầm VPN thì chỉ chỉnh DNS forwarder thôi là không đủ; m0n0wall phục vụ cho các máy khác rất tốt nhưng khi phục vụ bản thân nó dường như "lú lẫn", cứ "đâm đầu xin chết" ở giao diện WAN. Bạn phải giúp cho nó "tỉnh ra" bằng một static route hướng vào giao diện LAN. Thí dụ, với đường hầm:

192.168.1.0/24---192.168.1.1, 50.51.52.53---Internet---60.61.62.63, 192.168.2.1---192.168.2.0/24

muốn forward DNS query từ m0n0wall (192.168.1.1, 50.51.52.53) tới DNS server 192.168.2.10 chẳng hạn, cần thiết lập static route với Destination network = 192.168.2.10/32 (hoặc 192.168.2.0/24, /25,... gì đó cũng được), Interface = LAN và Gateway = 192.168.1.1.

2. Bạn có thể cản lọc kết nối hướng ra mạng xa qua đường hầm VPN bằng luật Firewall trên giao diện LAN.

3. Bạn có thể điều tiết băng thông (thí dụ, để ưu tiên VoIP) ở kết nối hướng ra mạng xa qua đường hầm VPN bằng luật Traffic Shaper trên giao diện WAN. (Chúng tôi chưa thử điều này.)



Nếu kiểm tra thấy chia xẻ Internet tốt và mạng LAN vẫn thông bình thường như trước thì phần chia xẻ Internet coi như xong. Ta có thể bắt tay vào lập đường hầm VPN.


(còn nữa)
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Other posts in the same group:

Tự làm VPN đơn giản với m0n0wall
Go to top Go to original post  

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|