HMH's Blog

Archive for the ‘Howto’ Category

Настройка сети вручную!

Posted by hmha trên Tháng Ba 21, 2011

Настройка проводной сети

Настройка IP адреса, шлюза, маски подсети

Отредактируйте файл конфигурации /etc/network/interfaces:
Откройте gnome-terminal кликнув Приложения -> Стандартные -> Терминал и вводите:
$ sudo nano /etc/network/interfaces
И допишите в него:
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1
auto eth0

Сохраните файл и закройте редактор. В данном примере (редактор nano) – нажмите Ctrl+X, затем Y, убедитесь, что «Имя файла для записи» – /etc/network/interfaces и нажмите Enter.

В итоге файл /etc/network/interfaces должен выглядеть примерно так:
(для одного проводного соединения со статическим IP)

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# Моя проводная сеть.
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1
auto eth0

Настройка DNS

Необходимость указать DNS сервера (если они не выдаются автоматически) выполните:

$ sudo gedit /etc/resolv.conf

удалите все содержание и впишите туда:

nameserver 213.234.192.8
nameserver 85.21.192.3

Где 213.234.192.8  и 85.21.192.3 – адреса DNS серверов. Если нужно добавить больше адресов – каждый адрес нужно начинать с новой строки и с фразы nameserver

Более подробно про синтаксис файла /etc/resolv.conf можно прочитать в документации.

Posted in Howto, Unix/Linux | Leave a Comment »

Cài đặt mplayer trong CentOS.

Posted by hmha trên Tháng Năm 15, 2010

Tình hình là mới chuyển nhà qua CentOS, cứ hì hục yum search mplayer mà không thấy, thì ra gói mplayer không có trong kho chính thức của CentOS. Mặc dù vậy chúng ta vẫn có thể cài đặt mplayer thông qua lệnh yum sau khi đã thêm kho RPMforge vào danh sách. Tuy RPMforge không phải là một phần của Red Hat hay CentOS nhưng những gói trong kho này được xây dựng để làm việc tốt trên hệ thống Red Hat, CentOS cũng như Fedora.
Để có thể cài đặt những gói có trong kho RPMforge hãy tải bản rpmforge-release thích hợp cho hệ thống của bạn. Tôi sử dụng CentOS 5 trên hệ thống 32bit nên tôi chọn gói rpmforge-release-0.5.0-1.el5.rf.i386.rpm.
Tiếp theo cần phải thêm khoá chứng thực của kho RPMforge bằng lệnh:
# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rồi kiểm tra gói rpmforge-release mà bạn vừa tải về:
# rpm -K rpmforge-release-0.5.0-1.el5.rf.i386.rpm
nếu bạn nhận được câu trả lời OK thì có thể thực hiện câu lệnh cuối cùng để thêm kho RPMforge:
# rpm -i rpmforge-release-0.5.0-1.el5.rf.i386.rpm
Quá trình thêm kho RPMforge đã xong, bây giờ bạn có thể sử dụng lệnh yum để cài đặt những gói không có trong kho chính thức của CentOS, ví dụ như mplayer.
(Cai dat mplayer trong CentOS
Install mplayer on CentOS, Add the RPMforge Repository in RHEL/CentOS 5)

Posted in Howto, Multimedia, Unix/Linux | Leave a Comment »

Mở cổng: iptables

Posted by hmha trên Tháng Tư 20, 2010

Port Forwarding – là động tác chuyển cổng cụ thể trên hệ thống mạng, điều này cho phép kết nối các máy từ bên ngoài với các máy trong mạng nội bộ đó.
Trước hết cần biết rằng mỗi máy tính tồn tại trong một mạng đều có một IP duy nhất, mỗi cổng trong một thời điểm xác định chỉ có thể được sử dụng bởi một chương trình. Giả sử bạn cấu hình Linux như một router, khi đó router sẽ có 2 IP: 1 địa chỉ IP ngoài và 1 địa chỉ IP nội bộ làm việc như một gateway đối với mỗi máy tính trong mạng.
Với mô hình mạng:
Internet —— (eth0) Linux server (router) (eth1) —– LAN: host A.B.C.D
Nếu bạn muốn chạy ftp server trên một máy trong mạng LAN với IP: A.B.C.D tại cổng mật định 21 hãy chạy:
# iptables -t nat -I PREROUTING -p tcp --dport 21 -j DNAT --to A.B.C.D:21
# iptables -I FORWARD -p tcp -d A.B.C.D --dport 21 -j ACCEPT

Posted in Howto, Unix/Linux | Leave a Comment »

Kiểm tra iso image, cd ghi có ngon không: qemu

Posted by hmha trên Tháng Mười 19, 2009

QEMU có thể gọi đơn giản là trình tạo máy ảo. Tại sao dùng qemu: nó rất nhẹ, dễ dàng và phù hợp với mục đích sử dụng ở trong bài viết này. Ở đây sẽ không đề cập đến việc cài đặt các OS trên máy ảo qemu mà chỉ nói về cách sử dụng qemu để kiểm tra xem các iso image mình tải về có tốt không hay kiểm tra xem đĩa mình burn ra có trục trặc gì không.
Cách cài đặt qemu trên Debian rất đơn giản:
# apt-get install qemu
Xong.
Bây giờ trên máy bạn có 1 iso image và bạn muốn kiểm tra nó, chạy:
$ qemu -cdrom /path/to/file.iso
Bản iso bạn load về nếu chạy ok và bạn muốn burn nó ra cdrom, sau khi burn xong để kiểm tra xem cd đó có chạy được không hãy thử với câu lệnh sau:
$ qemu -boot d -cdrom /dev/cdrom
nếu sử dụng được thì quá trình burn cdrom tốt đẹp.

Posted in Howto, Unix/Linux | Leave a Comment »

Kết nối đến một máy tính đằng sau tường lửa.

Posted by hmha trên Tháng Chín 27, 2009

Thông thường một máy tính trong LAN chỉ có thể ra internet nhưng không thể kết nối đến máy tính đó từ bên ngoài. Nếu bạn muốn kết nối đến một máy trong LAN có thể sử dụng ssh tunnel. Trên các máy *nix việc cài đặt openssh rất dễ dàng, còn trên Windows có thể cài đặt openssh trên cygwin (tham khảo tại đây).

Thực hiện kết nối:

Trước tiên chúng ta kết nối đến máy bên ngoài từ máy trong LAN, chạy:
$ ssh -f -N -R 99999:localhost:22 username@remote_ip
với các tham số trên máy tính trong LAN không thể thực hiện một lệnh nào qua ssh, sau đó để kết nối đến máy tính trong LAN từ máy bên ngoài internet, chạy:
$ ssh localhost -p 99999
chú ý là nếu bạn chạy ssh server trên một cổng khác không phải là 22 thì nhớ thay đổi lệnh trên cho đúng và trên cả 2 máy phải có cùng username.

Posted in Howto, Unix/Linux, Windows | Leave a Comment »

SSH server – cygwin – Windows

Posted by hmha trên Tháng Tám 27, 2009

Nếu bạn muốn kết nối đến một máy sử dụng MS Windows một cách an toàn thì hãy cài đặt openssh trên cygwin. Tất nhiên đây không phải là phương pháp duy nhất.
Trước tiên hãy vào trang chủ cygwin để tải file setup.exe về. Chạy file setup.exe này, đến phần chọn packages bạn hãy chọn View “Full” và tìm đến gói openssh, bấm vào Skip khi đó trên cột B ô vuông sẽ được đánh dấu “x” như hình bên dưới:

sau đó tiếp tục tìm gói tcp_wrappers và cũng chọn cài đặt nó tương tự như trên, gói zlib sẽ được tự động cài đặt.

Bấm Next để tiến hành cài đặt.
Sau khi cài đặt xong chúng ta cần chỉnh lại biến môi trường (tôi thực hiện trên Windows XP).
Bấm chuột phải vào My Computer, chọn Properites, Advanced rồi Environment Variables:

Bấm New để thêm vào System variables với tên biến là: CYGWIN và giá trị của biến là: ntsec tty:

Tiếp tục, hãy bấm chuột phải vào My ComputerPropertiesAdvanced rồi Environment Variables. Ở vị trí biến Path, bấm Edit và thêm vào cuối dòng: ;c:\cygwin\bin

Quá trình cấu hình trên Windows XP kết thúc, bây giờ bạn có thể chạy cygwin.

Cấu hình cygwin để chạy SSH Server

Thiết lập lại quyền truy cập, thực hiện:
$ chmod +r /etc/passwd
$ chmod u+w /etc/passwd
$ chmod +r /etc/group
$ chmod 755 /var

sau đó thực hiện:
$ ssh-host-config
để cấu hình ssh server. Sau đó khởi động SSH Server bằng lệnh:
$ net start sshd
hoặc:
$ cygrunsrv --start sshd
trong trường hợp có lỗi xảy ra hãy chạy:
$ chown system /etc/ssh*
$ chown system /var/empty

và khởi động lại ssh server.
Để chắc chắn ssh server hoạt động hãy thử kết nối từ một máy khác, nếu bạn nhận được thông báo lỗi: ssh-exchange-identification: Connectiion closed by remote host hãy sửa lại file /etc/hosts.allow: bỏ đi dòng ALL : PARANOID : deny

Xong. Bây giờ SSH Server đã hoạt động, bạn có thể truyền tải file một cách an toàn qua mạng với scp, ví dụ:
$ scp /cygdrive/c/qwe.txt debian@192.168.1.1:~/qwe.txt
với câu lệnh trên (thực hiện trên máy cài cygwin), tập tin qwe.txt trên đĩa C sẽ được copy đễn máy có địa chỉ 192.168.1.1 với user là debian.
ví dụ tiếp theo:
$ scp hmha@192.168.1.2:/cygdrive/c/qwe.txt .
nghĩa là bạn ngồi trên máy khác (Linux chẳng hạn), thực hiện copy file qwe.txt trên đĩa C của máy cài CYGWIN có địa chỉ là 192.168.1.2 với user hmha đến thư mục hiện tại.
Hai cách làm trên đều thực hiện việc copy file từ máy cài cygwin đến máy khác.
Bây giờ nếu bạn muốn copy file đến máy cài cygwin (Windows) từ Linux chẳng hạn, trước tiên hãy kết nỗi đến Windows, thực hiện:
$ ssh hmha@192.168.1.2
sau đó thực hiện copy:
$ scp debian@192.168.1.1:~/qwe.txt /cygdrive/c/
Có thể tìm hiểu thêm về cách sử dụng ssh tại đây.

Posted in Howto, Unix/Linux, Windows | Leave a Comment »

Chặn trang web với Squid.

Posted by hmha trên Tháng Tám 14, 2009

Trong bài viết cấu hình Squid basic đã đề cập đến việc chặn các website. Ở đây chỉ là một phương pháp khác, bạn có thể tham khảo.
Sử dụng luật acl:
acl blocksite dstdomain .abc.com
và:
http_access deny blocksite
như vậy tên miền abc.com sẽ bị chặn toàn bộ.

Posted in Howto, Unix/Linux | Leave a Comment »

Mã hoá, giải mã, ký: GnuPG.

Posted by hmha trên Tháng Tám 7, 2009

Nếu bạn cần mã hoá và tạo tài liệu với chữ ký thì GnuPG là một giải pháp tốt. Sau khi cài đặt xong hãy tạo khoá với lệnh:
$ gpg --gen-key
bạn tự trả lời các câu hỏi do chương trình đưa ra :D.
Xem các khoá:
$ gpg --list-keys
Xuất khoá:
$ gpg --output mypubkey.gpg --export uid
với câu lệnh trên khoá được tạo ra ở dạng nhị phân, nếu muốn khoá ở dạng ASCII, thực hiện:
$ gpg --armor --output mypubkey.txt --export uid
Nhập khoá:
$ gpg --import pubkey
bạn nên xác thực lại khoá công khai (vì nó có thể giả mạo) bằng lệnh:
$ gpg --edit-key uid
sau đó đối chiếu với dấu vân tay bằng lệnh fpr, sau khi kiểm tra đúng thì xác thực nó với lệnh sign.
hoặc có thể xác thực khoá với lệnh:
$ gpg --sign-key uid

Mã hoá và giải mã:

Giả sử A muốn gửi cho B một tại liệu docu, A sẽ sử dụng khoá công khai của B để mã hoá:
$ gpg --output docu.gpg --encrypt --recipient pub_of_B docu
khi B nhận được tài liệu docu.gpg (đã mã hoá), để giải mã B sẽ dùng khoá riêng tư của mình:
$ gpg --output docu --decrypt docu.gpg

Ký và kiểm tra chữ ký:

Bây giờ A muốn gửi cho B một tài liệu docu với chữ ký của mình và B sẽ kiểm tra xem có đúng chữ ký của A hay không. Khi đó A sẽ dùng khoá riêng tư của mình để ký và B sẽ dùng khoá công khai của A để kiểm tra.
A ký:
$ gpg --output docu.sig --sign docu
khi đó tài liệu sẽ được ký và tồn tại ở dạng nhị phân.
B kiểm tra:
$ gpg --verify docu.sig
B vừa kiểm tra vừa khôi phục tài liệu:
gpg --output docu --decrypt docu.sig
Ngoài ra với những tài liệu không cần thiết nén khi ký (dạng ASCII) chúng ta có thể sử dụng tuỳ chọn –clearsign, với tuỳ chọn này tài liệu không bị thay đổi khi ký:
$ gpg --clearsign docu
Để kiểm tra chữ ký chúng ta dùng –verify như trên.
Và cuối cùng là việc sử dụng chữ ký tách rời. Với cách này tài liệu cũng không bị thay đổi và bạn vẫn có thể đọc bình thường:
$ gpg --output docu.sig --detach-sig docu
với cách dùng này tập tin chữ ký docu.sig sẽ được tạo ra, để xác minh chữ ký chúng ta chạy:
$ gpg --verify docu.sig docu
Xong.
Sử dụng GnuPG là một cách hay, tuy nhiên nếu khoá riêng tư của bạn bị mất thì có thể sẽ bị sử dụng với mục đích xấu. Vì vậy tôi chỉ sử dụng GnuPG để mã hoá tài liệu với mật khẩu, dù sao mật khẩu nằm trong đầu mình vẫn an toàn hơn, tất nhiên là bạn phải biết trăm chén không say để tránh say rồi lỡ miệng :mrgreen:.

Posted in Howto, Unix/Linux, Windows | Leave a Comment »

Đặt và lấy lại mật khẩu GRUB

Posted by hmha trên Tháng Tám 3, 2009

Đặt mật khẩu cho GRUB:

Để đặt mật khẩu cho GRUB hãy su lên root, tại terminal chạy:
# grub
khi đó prompt sẽ có dạng grub>. Tại đây thực hiện md5crypt để tạo mã hoá cho mật khẩu.
grub> md5crypt
Sau đó hãy nhập mật khẩu vào bạn sẽ nhận được:
Password: ********
Encrypted: $178kHK1QfV3P2b2znUuGJhghsGZp0

thoát khỏi grub prompt bằng lệnh quit.
sau đó cần sửa lại file cấu hình của grub (trên Debian) /boot/grub/grub.conf.
hãy đặt đoạn mã sau vào trước dòng title:
password --md5 $178kHK1QfV3P2b2znUuGJhghsGZp0
title Debian

nhớ lại và thoát. Vậy là xong.

Khôi phục lại mật khẩu cho GRUB:

Nếu bạn chẳng may quên mật khẩu của GRUB thì có thể xoá bỏ nó bằng cách sử dụng một LiveCD Linux. Sau khi khởi động xong một LiveCD hãy gắn kết phân vùng chứa file cấu hình grub và chỉnh sửa nó:
ví dụ:
# mount /dev/hda1 /mnt/debian
# cd /mnt/debian/boot/grub
# vi menu.lst

tìm đến dòng password –md5 $178kHK1QfV3P2b2znUuGJhghsGZp0 và xoá nó đi. Ghi lại file rồi reboot.

Posted in Howto, Unix/Linux | Leave a Comment »

Kết nối VNC qua SSH tunnel.

Posted by hmha trên Tháng Ba 17, 2009

Trước đây tôi đã viết sơ qua về cách kết nối với máy tính khác qua VNC, tuy nhiên phương thức kết nối này sẽ không an toàn nếu bạn kết nối với một máy tính khác trên Internet bởi vì dữ liệu chuyển đi sẽ không được mã hoá. Để giải quyết vấn đề này có thể sử dụng thêm SSH. Giả sử bạn có 2 máy host1 – VNC server, SSH server và host2 – VNC viewer, SSH client.

Trường hợp host2 sử dụng Linux:

Bật một terminal lên và kết nối với host1:
$ ssh -L 5902:localhost:5901 host1
câu lệnh trên nghĩa là kết nối đến host1 và lắng nghe trên cổng 5902 của host2, nếu có kết nối kết cổng 5902 của host2 thì sẽ chuyển qua cổng 5901 của host1. Do dữ liệu được chuyển qua kênh SSH nên sẽ được mã hoá. Sau đó để sử dụng VNC trên một terminal khác chạy:
$ vncviewer localhost:1
nhập mật khẩu vào và sử dụng.

Trường hợp host2 sử dụng Windows:

Với Windows bạn có thể sử dụng ssh client là putty và VNC TightVNC.
Hãy chạy putty và nhập những thông số cần thiết:

sau đó bấn Add và nhận được:

sau khi thiết lập xong hãy bấm Open để kết nối SSH.
Khi kết nối đến host1 qua SSH thành công hãy bật vnc viewer lên gõ localhost:1, nhập mật khẩu vào và sử dụng.
http://comnetsolution.vn/

Posted in Howto, Unix/Linux, Windows | Leave a Comment »