Archive for tháng 10 2013
Cấu hình Firewall Iptables trên CentOS / Redhat
Thứ Tư, 30 tháng 10, 2013
Posted by Admin
Tag :
Centos
Netfilter là firewall
cơ bản cho các máy chủ Linux.Nó được đưa
vào như một phần của các hệ điều hành kể trên và được cấu hình mặc định có hiệu
lực trên hệ thống.Firewall này được quản lý thông qua chương trình
iptables.Netfilter lọc các gói tin tại tần kernel, trước khi hệ thống hoặc các
phần mềm tầng ứng dụng xử lý gói tin đó.
Iptables
Config File
Mặc định trong RHEL / CentOS / Fedora file cấu hình của iptables là :
Mặc định trong RHEL / CentOS / Fedora file cấu hình của iptables là :
/etc/sysconfig/iptables
Xem
các rules (luật) mặc định:
Hãy gõ dòng lệnh sau:
Hãy gõ dòng lệnh sau:
iptables
--line-numbers -n -L
Bạn sẽ nhận được kết
quả trả về có nội dung tương tự như sau:
Chain
INPUT (policy ACCEPT)
num target prot opt source destination
1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Chain RH-Firewall-1-INPUT (2 references)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255
3 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353
4 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53
5 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:53
8 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
num target prot opt source destination
1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
1 RH-Firewall-1-INPUT all -- 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
Chain RH-Firewall-1-INPUT (2 references)
num target prot opt source destination
1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255
3 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353
4 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53
5 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:53
8 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Bật
/ tắt / khởi động lại firewall
Sử dụng các lệnh sau:
Sử dụng các lệnh sau:
chkconfig
iptables on
service iptables start
# Khởi động lạifirewall
service iptables restart
# Tắt firewall
service iptables stop
service iptables start
# Khởi động lạifirewall
service iptables restart
# Tắt firewall
service iptables stop
Tìm
hiểu sâu hơn về Firewall iptables
Trong iptables có tất cả 4 kiểu sự kiện như sau:
Trong iptables có tất cả 4 kiểu sự kiện như sau:
§ INPUT: Các
gói tin gửi đến hệ thống từ bên ngoài.Sử dụng sự kiện này để chặn các cổng
(port) gửi đến như 80,25,110 hoặc các ip nguồn, subnet (chẳng hạn như
202.54.1.20/29).
§ OUTPUT: Chỉ
các gói tin được tạo ra từ hệ thống.
§ FORWARD: Các
gói tin được gửi thông qua thiết bị khác.Thường dùng trong trường hợp cài đặt
máy chủ Linux như một router.Ví dụ, eth0 kết nối với modem ADSL / Cable và eth1
kết nối với mạng LAN. Sử dụng FORWARD để gửi và nhận các gói tin truy cập từ
mạng LAN với Internet.
§ RH-Firewall-1-INPUT: Tùy
chỉnh các sự kiện, nó sẽ gọi đến 3 kiểu sự kiện trên là INPUT,OUTPUT và
FORWARD.
Quy
trình xử lý gói tin:
§ Bắt đầu từ rules đầu tiên
§ Chạy đến khi gói tin phù hợp với một điều kiện trong các
config đã cấu hình.
§ Nếu có sự phù hợp trong các rules, gói tin sẽ được xử lý
bằng REJECT, ACCEPT, DROP.
Các
cách xử lý gói tin:
§ ACCEPT cho
phép gói tin đi qua.
§ REJECT loại
bỏ và gửi thông báo lỗi đến địa chỉ nguồn gửi gói tin.
§ DROP xóa
gói tin mà không thông báo đến địa chỉ nguồn gửi gói tin.
Cấu
hình /etc/sysconfig/iptables
Bạn có thể sử dụng vi hoặc nano như sau:
Bạn có thể sử dụng vi hoặc nano như sau:
nano
/etc/sysconfig/iptables
Nội dung của file sẽ
theo mẫu bên dưới:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
Chặn
tất cả gói tin:
Tìm các dòng:
Tìm các dòng:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
Chỉnh sửa thành:
:INPUT
DROP [0:0]
:FORWARD DROP [0:0]
:FORWARD DROP [0:0]
Ghi
lại log và xóa DROP các gói tin từ nguồn chỉ định:
Thêm các dòng sau vào file cấu hình, trước chữ COMMIT cuối cùng file:
Thêm các dòng sau vào file cấu hình, trước chữ COMMIT cuối cùng file:
-A INPUT
-i eth0 -s 10.0.0.0/8 -j LOG --log-prefix "IP DROP SPOOF "
-A INPUT -i eth0 -s 172.16.0.0/12 -j LOG --log-prefix "IP DROP SPOOF "
-A INPUT -i eth0 -s 192.168.0.0/16 -j LOG --log-prefix "IP DROP SPOOF "
-A INPUT -i eth0 -s 224.0.0.0/4 -j LOG --log-prefix "IP DROP MULTICAST "
-A INPUT -i eth0 -s 240.0.0.0/5 -j LOG --log-prefix "IP DROP SPOOF "
-A INPUT -i eth0 -d 127.0.0.0/8 -j LOG --log-prefix "IP DROP LOOPBACK "
-A INPUT -i eth0 -s 169.254.0.0/16 -j LOG --log-prefix "IP DROP MULTICAST "
-A INPUT -i eth0 -s 0.0.0.0/8 -j LOG --log-prefix "IP DROP "
-A INPUT -i eth0 -s 240.0.0.0/4 -j LOG --log-prefix "IP DROP "
-A INPUT -i eth0 -s 255.255.255.255/32 -j LOG --log-prefix "IP DROP "
-A INPUT -i eth0 -s 168.254.0.0/16 -j LOG --log-prefix "IP DROP "
-A INPUT -i eth0 -s 248.0.0.0/5 -j LOG --log-prefix "IP DROP "
-A INPUT -i eth0 -s 172.16.0.0/12 -j LOG --log-prefix "IP DROP SPOOF "
-A INPUT -i eth0 -s 192.168.0.0/16 -j LOG --log-prefix "IP DROP SPOOF "
-A INPUT -i eth0 -s 224.0.0.0/4 -j LOG --log-prefix "IP DROP MULTICAST "
-A INPUT -i eth0 -s 240.0.0.0/5 -j LOG --log-prefix "IP DROP SPOOF "
-A INPUT -i eth0 -d 127.0.0.0/8 -j LOG --log-prefix "IP DROP LOOPBACK "
-A INPUT -i eth0 -s 169.254.0.0/16 -j LOG --log-prefix "IP DROP MULTICAST "
-A INPUT -i eth0 -s 0.0.0.0/8 -j LOG --log-prefix "IP DROP "
-A INPUT -i eth0 -s 240.0.0.0/4 -j LOG --log-prefix "IP DROP "
-A INPUT -i eth0 -s 255.255.255.255/32 -j LOG --log-prefix "IP DROP "
-A INPUT -i eth0 -s 168.254.0.0/16 -j LOG --log-prefix "IP DROP "
-A INPUT -i eth0 -s 248.0.0.0/5 -j LOG --log-prefix "IP DROP "
Ghi
lại log và DROP tất cả các gói tin:
Tìm dòng sau:
Tìm dòng sau:
-A
RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
COMMIT
Sửa thành:
-A
RH-Firewall-1-INPUT -j LOG
-A RH-Firewall-1-INPUT -j DROP
COMMIT
-A RH-Firewall-1-INPUT -j DROP
COMMIT
Mở
port
Để mở port 80 cho webserver thêm dòng sau vào trước COMMIT cuối file:
Để mở port 80 cho webserver thêm dòng sau vào trước COMMIT cuối file:
-A
RH-Firewall-1-INPUT -m tcp -p tcp --dport 80 -j ACCEPT
-A
RH-Firewall-1-INPUT -m tcp -p tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m udp -p tcp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -m udp -p tcp --dport 53 -j ACCEPT
-A
RH-Firewall-1-INPUT -m tcp -p tcp --dport 443 -j ACCEPT
Để mở port 25 cho SMTP
server thêm dòng sau vào trước COMMIT cuối file:
-A
RH-Firewall-1-INPUT -m tcp -p tcp --dport 25 -j ACCEPT
-A
RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 22 -j
ACCEPT
….
Lưu lại file và
restart iptables:
#
service iptables restart
# iptables -vnL --line-numbers
# iptables -vnL --line-numbers
Hy vọng bài viết này
có thể giúp ích cho các bạn, giúp bạn hiểu hơn về hệ thống firewall cơ bản
nhưng rất hiểu quả: iptables.
Vừa qua phiên bản Ubuntu 13.10 đã chính thức phát hành, đối với cộng đồng Linux nói chung thì đây là tin vui bởi Ubuntu 13.10 mang đến nhiều cải tiến đáng quan tâm, nhưng đối với cộng đồng Việt thì lại gặp đôi chút rắc rối trong việc kích hoạt bộ gõ Tiếng Việt, cụ thể là app iBus trên Ubuntu 13.10 đã bị thay đổi nên gây đôi chút "mù mịt" cho người dùng.
Để có thể gõ Tiếng Việt trên Ubuntu 13.10 bạn cần cài thêm ứng dụng hỗ trợ Unikey đi kèm với iBus có sẵn trên Ubuntu, mặc dù bản thân Ubuntu đã có phần hỗ trợ gõ Tiếng Việt nhưng rất khó sử dụng. Bạn có thể tìm thấy ứng dụng hỗ trợ Unikey trên hệ thống Ubuntu Software Center.
Sau khi cài xong ứng dụng hỗ trợ, bạn vào Terminal và nhập vào dòng lệnh "ibus restart".
Kế tiếp, bạn vào All Apps và gõ vào từ khóa "Text Entry" để tiến hành thêm ứng dụng hỗ trợ Unikey vào bộ gõ iBus của Ubuntu 13.10.
Trên giao diện Text Entery, bấm chuột vào biểu tượng dấu "+" sau đó nhập vào ô tìm kiếm là Vietnamese (Unikey) để tích hợp Unikey vào iBus và nhấn nút Add để thêm vào.
Cuối cùng chỉ cần di chuyển Vietnamese (Unikey) bằng các phím mũi tên bên dưới danh sách sao choVietnamese (Unikey) đứng hàng đầu tiên, như thế Ubuntu sẽ hiểu là Vietnamese (Unikey) là bộ gõ mặc định.
WinSCP là một phần mềm cho phép trao dổi dữ liệu giữa hai máy tính cài hệ điều hành
Window và Linux khá dể dàng. Phần mềm này có bản chạy (stand_alone) tại địa chỉ
http://downloads.sourceforge.net/win...2.exe?download
Sau đây là một số bước cơ bản để sử dụng WinSCP:
Qui ước :
- Máy A : là máy local, chạy HDH Window.
- Máy B : là máy remote (hoặc máy ảo), chạy HDH Linux.
1 – Việc đầu tiên là phải cấu hình card mạng sao cho 2 máy tính này “thấy” nhau:
- Xem cấu hình IP tại máy A : Start Æ Run Æ gõ vào cmd Æ gõ vào màn hình
console mới hiện ra lệnh ipconfig
- Ở đây card mạng trên máy đã được enable và có địa chỉ là 172.29.70.18 và
subnetmask là 255.255.255.0.
- Cấu hình địa chỉ IP trên máy B cùng đường mạng với máy A (ví dụ ở đây là
172.29.70.170). Mở màn hình console và gõ vào redhat-config-network (với
Redhat 9, hoặc system-config-network với FC3) :
Bấm vào Edit để cấu hình địa chỉ IP
Bấm vào Active để active card mạng lên
Quay lại màn hình console gõ vào service network restart để khởi động lại card
mạng.
- Kiểm tra lại bằng cách dùng lệnh ping.
2 – Khởi động WinSCP tại máy A sau đó gõ địa chỉ máy B cùng với
username/password để kết nối đến máy B :
Window và Linux khá dể dàng. Phần mềm này có bản chạy (stand_alone) tại địa chỉ
http://downloads.sourceforge.net/win...2.exe?download
Sau đây là một số bước cơ bản để sử dụng WinSCP:
Qui ước :
- Máy A : là máy local, chạy HDH Window.
- Máy B : là máy remote (hoặc máy ảo), chạy HDH Linux.
1 – Việc đầu tiên là phải cấu hình card mạng sao cho 2 máy tính này “thấy” nhau:
- Xem cấu hình IP tại máy A : Start Æ Run Æ gõ vào cmd Æ gõ vào màn hình
console mới hiện ra lệnh ipconfig
- Ở đây card mạng trên máy đã được enable và có địa chỉ là 172.29.70.18 và
subnetmask là 255.255.255.0.
- Cấu hình địa chỉ IP trên máy B cùng đường mạng với máy A (ví dụ ở đây là
172.29.70.170). Mở màn hình console và gõ vào redhat-config-network (với
Redhat 9, hoặc system-config-network với FC3) :
Bấm vào Edit để cấu hình địa chỉ IP
Bấm vào Active để active card mạng lên
Quay lại màn hình console gõ vào service network restart để khởi động lại card
mạng.
- Kiểm tra lại bằng cách dùng lệnh ping.
2 – Khởi động WinSCP tại máy A sau đó gõ địa chỉ máy B cùng với
username/password để kết nối đến máy B :
Nội dung
1. Giới thiệu
2. Cấu hình DNS (bind version 9)
* Caching name server
* Authoritative DNS server và zone file
* Master, slave server
3. Tham khảo
Giới thiệu
Bài viết này giới thiệu cách dùng bind để cấu hình DNS cho máy Linux. Chú ý rằng cấu hình bind (named.conf và zone file) không phụ thuộc vào hệ điều hành, có thể dùng những file cấu hình này cho những HĐH khác ngoài Linux. Cấu hình này đã được kiểm tra trên Linux (RH 9, FC 1, TSL 2.1), FreeBSD (R-5.1) và Solaris (8).
Chú ý: đây là cấu hình không chroot. Xem bind-chroot phần "Tham khảo, thông tin thêm".
Bắt đầu viết: tháng 5 năm 2003.
Thay đổi lần cuối vào lúc: Sun Feb 1 12:47:44 JST 2004.
Cài đặt và cấu hình
Phần 1: Cài đặt
Compile từ source (xem http://www.isc.org/index.pl?/sw/bind/), hoặc dùng binary gói sẵn cho mỗi distro.
Riêng cho người dùng FC:
Riêng cho người dùng Trustix
swup --install bind caching-nameserver
Phần 2: Caching nameserver
Phần này ghi cách làm "caching name server", một kiểu DNS đơn giản, thích hợp cho những ai tập làm DNS lần đầu tiên, hoặc những ai muốn làm DNS cho máy cá nhân. Theo cấu hình này, mỗi khi có yêu cầu (query) về thông tin DNS, server sẽ tìm kiếm theo thứ tự: 1) dữ liệu trong bộ đệm (cache), nếu không có hoặc dữ liệu đã hết hạn thì 2) hỏi DNS cấp cao nhất (root server).
Những file cần thiết
1. /etc/named.conf: file cấu hình DNS
2. /var/named/named.ca: danh sách root server
3. /var/named/localhost.zone: localhost zone file
4. /var/named/0.0.127.rev: localhost reverse zone file
Riêng cho người dùng FC: Những file ghi trên có trong gói caching-nameserver-***.rpm
Chuẩn bị file /etc/named.conf như sau
tiếp theo, copy file named.ca vào /var/named. File
named.ca là danh sách tất cả những DNS root server, thường được kèm
sẵn trong phần mềm bind. Ngoài ra, có thể download file named.ca ở http://www.root-servers.org (xem phần tham khảo).
soạn file localhost.zone và copy vào /var/named
soạn file 0.0.127.rev và copy vào /var/named
xong khởi động DNS daemon.
Cho người dùng FC:
1. khởi động: /etc/init.d/named start
2. ví dụ về script khởi động có trong gói bind-***.rpm
Cách sử dụng: soạn file /etc/resolve.conf có nội dung như sau
# dùng my DNS server, không cần DNS server của ISP
sau đó thử một vài query. Nếu thấy kết quả như sau đây, DNS server của bạn đã hoạt động.
###------------------------------------------------------
// thử localhost
$ host localhost.
$ host 127.0.0.1
// thử Internet
$nslookup www.google.com
Phần 3:Authoritative server và zone file
Phần này ghi cách cấu hình một DNS server cho domain "domain.name", có thể query từ bất kỳ máy nào trong LAN. Giả sử IP của DNS server là 192.168.1.1, phục vụ cho LAN 192.168.1.0/24.
Cấu hình này cũng có thể dùng để phục vụ những query từ Internet, nếu DNS server có interface mang địa chỉ global IP. Do đó sự an toàn thông tin và sự rõ ràng trong cấu hình được chú trọng (đặc biệt sử dụng "view statement").
Chuẩn bị file /etc/named.conf
Những zone file cần thiết: (/var/named/internal/)mydomain.zone, 1.168.192.rev; (/var/named/global/)mydomain.zone
domain.zone (internal):
Những zone file ở thư mục global: hoàn toàn tương tự.
Cách sử dụng
// chỉ định DNS server: soạn file /etc/resolve.conf như sau
sau đó thử một vài query. Nếu thấy kết quả như sau đây, DNS server của bạn đã hoạt động.
###---------------------------------------------------------------
// thử localhost
$ host localhost
// thử zone file
$ host mail
$ host -t hinfo chibi
chibi.domain.name host information "Linux" "P3 500MHz, RAM 128 MB"
// thử reverse zone
$ host 192.168.1.2
Phần 4: Master, slave DNS server
Cấu hình master/slave DNS server thường chỉ cần thiết cho những hệ thống có yêu cầu về tính an toàn và ổn định, cho những hệ thống cỡ lớn.
Chú ý: phân biệt master/slave DNS server với primary/secondary DNS server!
Phần 5: Những option thông dụng
Tham khảo, thông tin thêm
1. DNS query sử dụng port 53, giao thức UDP
2. DNS update (master/slave) sử dụng port 53, giao thức TCP
3. Danh sách DNS root server: địa điểm, IP, traffic load
4. chroot bind (FC: yum install bind-chroot)
5. reverse DNS delegation (RFC 2317, BCP 0020)
6. DNS for Rocket Scientists
7. DNS and BIND, 3rd ed., NXB O'Reilly.
Nguồn : http://james.dyndns.ws/index.php
James Nguyen.
1. Giới thiệu
2. Cấu hình DNS (bind version 9)
* Caching name server
* Authoritative DNS server và zone file
* Master, slave server
3. Tham khảo
Giới thiệu
Bài viết này giới thiệu cách dùng bind để cấu hình DNS cho máy Linux. Chú ý rằng cấu hình bind (named.conf và zone file) không phụ thuộc vào hệ điều hành, có thể dùng những file cấu hình này cho những HĐH khác ngoài Linux. Cấu hình này đã được kiểm tra trên Linux (RH 9, FC 1, TSL 2.1), FreeBSD (R-5.1) và Solaris (8).
Chú ý: đây là cấu hình không chroot. Xem bind-chroot phần "Tham khảo, thông tin thêm".
Bắt đầu viết: tháng 5 năm 2003.
Thay đổi lần cuối vào lúc: Sun Feb 1 12:47:44 JST 2004.
Cài đặt và cấu hình
Phần 1: Cài đặt
Compile từ source (xem http://www.isc.org/index.pl?/sw/bind/), hoặc dùng binary gói sẵn cho mỗi distro.
Riêng cho người dùng FC:
Code:
###--------------------------------------------------------------
// từ RPM
rpm -ivh bind-version***.rpm
rpm -ivh caching-nameserver-version***.rpm
// đang nối Internet
yum install bind caching-nameserver
###-------------------------------------------------------------
swup --install bind caching-nameserver
Phần 2: Caching nameserver
Phần này ghi cách làm "caching name server", một kiểu DNS đơn giản, thích hợp cho những ai tập làm DNS lần đầu tiên, hoặc những ai muốn làm DNS cho máy cá nhân. Theo cấu hình này, mỗi khi có yêu cầu (query) về thông tin DNS, server sẽ tìm kiếm theo thứ tự: 1) dữ liệu trong bộ đệm (cache), nếu không có hoặc dữ liệu đã hết hạn thì 2) hỏi DNS cấp cao nhất (root server).
Những file cần thiết
1. /etc/named.conf: file cấu hình DNS
2. /var/named/named.ca: danh sách root server
3. /var/named/localhost.zone: localhost zone file
4. /var/named/0.0.127.rev: localhost reverse zone file
Riêng cho người dùng FC: Những file ghi trên có trong gói caching-nameserver-***.rpm
Chuẩn bị file /etc/named.conf như sau
Code:
###----------------------------------------------------------------------
acl localnet {
127.0.0.1;
};
options {
// nơi đặt zone files
directory "/var/named";
// chỉ dùng trong mạng localnet
allow-transfer { localnet; };
allow-query { localnet; };
};
controls {
inet 127.0.0.1
allow { localhost; }
keys { rndckey; };
};
zone "." IN {
// hỏi root server
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { non
e; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "0.0.127.rev";
allow-update { none; };
};
include "/etc/rndc.key";
###-----------------------------------------------------------------
soạn file localhost.zone và copy vào /var/named
Code:
###-----------------------------------------------------------------
$TTL 86400
$ORIGIN localhost.
@ 1D IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
1D IN NS @
1D IN A 127.0.0.1 ###--------------------------------------------------------------------
Code:
###-------------------------------------------------------------------
$TTL 86400
@ IN SOA localhost. root.localhost. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS localhost.
1 IN PTR localhost.
###-----------------------------------------------------------
Cho người dùng FC:
1. khởi động: /etc/init.d/named start
2. ví dụ về script khởi động có trong gói bind-***.rpm
Cách sử dụng: soạn file /etc/resolve.conf có nội dung như sau
# dùng my DNS server, không cần DNS server của ISP
Code:
nameserver 127.0.0.1
###------------------------------------------------------
// thử localhost
$ host localhost.
Code:
localhost has address 127.0.0.1
Code:
1.0.0.127.in-addr.arpa domain name pointer localhost.
$nslookup www.google.com
Code:
Server: 127.0.0.1
Address: 127.0.0.1#53
Non-authoritative answer:
www.google.com canonical name = www.google.akadns.net.
Name: www.google.akadns.net
Address: 66.102.9.104
Name: www.google.akadns.net
Address: 66.102.9.99
###-----------------------------------------------------------
Phần 3:Authoritative server và zone file
Phần này ghi cách cấu hình một DNS server cho domain "domain.name", có thể query từ bất kỳ máy nào trong LAN. Giả sử IP của DNS server là 192.168.1.1, phục vụ cho LAN 192.168.1.0/24.
Cấu hình này cũng có thể dùng để phục vụ những query từ Internet, nếu DNS server có interface mang địa chỉ global IP. Do đó sự an toàn thông tin và sự rõ ràng trong cấu hình được chú trọng (đặc biệt sử dụng "view statement").
Chuẩn bị file /etc/named.conf
Code:
###----------------------------------------------------------
acl localnet {
127.0.0.1;
192.168.1.0/24; // private IP
};
options {
directory "/var/named";
allow-transfer { localnet; };
allow-query { localnet; };
version ""; // hide the version
};
controls {
inet 127.0.0.1
allow { localhost; }
keys { rndckey; };
};
// không log những lame-server
logging {
category lame-servers { null; };
};
// phục vụ localnet
// localnet gồm những máy đã định nghĩa bằng "acl localnet"
view "internal" {
match-clients { localnet; };
recursion yes;
zone "." IN {
// hỏi root server
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
allow-update { none; };
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "0.0.127.rev";
allow-update { none; };
};
zone "domain.name" IN {
type master;
file "internal/domain.zone";
allow-update { none; };
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "internal/1.168.192.rev";
allow-update { none; };
};
};
// phục vụ những client không thuộc localnet (ví dụ Internet)
view "global" {
match-clients { any; };
allow-query { any; };
// server này chỉ trả lời query về domain.name
recursion no;
// ----------------------------
// những dòng sau đây chỉ sử dụng với "recursion yes;"
// trả lời cả những query về những domain khác
// bằng cách hỏi root DNS servers
// zone "." IN {
// type hint;
// file "named.ca";
// };
// ----------------------------
zone "domain.name" IN {
type master;
file "global/domain.zone";
allow-update { none; };
};
};
###----------------------------------------------------------
domain.zone (internal):
Code:
###-------------------------------------------------
$TTL 86400
$ORIGIN domain.name.
@ IN SOA ns.domain.name. dnsmaster.domain.name. (
2003051100 ; tăng (ví dụ +1) khi thay đổi thông tin
3H ; update thông tin từ master server
3600 ; làm lại, nếu không connect được với master
1W ; thời hạn giữ thông tin của slave
1D ) ; thời hạn cache của client, giảm -1 mỗi giây
IN A 192.168.1.1
IN MX 10 mail.domain.name.
IN NS ns.domain.name.
localhost IN A 127.0.0.1
mail IN A 192.168.1.3
ntp IN A 192.168.1.10
www IN CNAME Chibi.domain.name.
Chibi IN A 192.168.1.99
IN HINFO "Linux" "P3 500MHz, RAM 128 MB"
Monster IN A 192.168.1.100
IN HINFO "Linux" "Quad Itanium2 1.5G, 32G DDR SDRAM"
###------------------------------------------------------------------
file 1.168.192.rev (internal)
###--------------------------------------------------------------------
$TTL 86400
$ORIGIN 1.168.192.IN-ADDR.ARPA.
@ IN SOA ns.domain.name. dnsmaster.domain.name. (
2003051500 ; Serial
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
86400 ) ; Minimum TTL of 1 day, negative cache
IN NS ns.domain.name.
1 IN PTR hydro.domain.name.
2 IN PTR heli.domain.name.
###----------------------------------------------------------------
Cách sử dụng
// chỉ định DNS server: soạn file /etc/resolve.conf như sau
Code:
search domain.name
nameserver 192.168.1.1
###---------------------------------------------------------------
// thử localhost
$ host localhost
Code:
localhost.domain.name has address 127.0.0.1
$ host mail
Code:
mail.domain.name has address 192.168.1.3
chibi.domain.name host information "Linux" "P3 500MHz, RAM 128 MB"
// thử reverse zone
$ host 192.168.1.2
Code:
2.17.168.192.in-addr.arpa domain name pointer heli.domain.name.
// thử Internet
$ dig www.google.com soa
// sẽ thấy kết quả
; <<>> DiG *.*.* <<>> www.google.com soa
;; global options: printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7662
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;www.google.com. IN SOA
;; ANSWER SECTION:
www.google.com. 820 IN CNAME www.google.akadns.net.
;; AUTHORITY SECTION:
google.akadns.net. 821 IN SOA asia3.akam.net.
hostmaster.akamai.com. 1091842826 3600 300 172800 900
;; Query time: 7 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: *****
;; MSG SIZE rcvd: 132
###------------------------------------------------------------
Cấu hình master/slave DNS server thường chỉ cần thiết cho những hệ thống có yêu cầu về tính an toàn và ổn định, cho những hệ thống cỡ lớn.
Chú ý: phân biệt master/slave DNS server với primary/secondary DNS server!
Code:
Master server (IP 192.168.1.1) của domain.name
zone "domain.name" IN {
type master;
file "internal/domain.zone";
};
Slave server (IP 192.168.1.2) của domain.name
zone "domain.name" IN {
type slave;
file "internal/domain.zone";
masters {
192.168.1.1;
}
};
Tham khảo, thông tin thêm
1. DNS query sử dụng port 53, giao thức UDP
2. DNS update (master/slave) sử dụng port 53, giao thức TCP
3. Danh sách DNS root server: địa điểm, IP, traffic load
4. chroot bind (FC: yum install bind-chroot)
5. reverse DNS delegation (RFC 2317, BCP 0020)
6. DNS for Rocket Scientists
7. DNS and BIND, 3rd ed., NXB O'Reilly.
Nguồn : http://james.dyndns.ws/index.php
James Nguyen.
Hiện tại thì mình đang cố gắng post bài về cisco cho trang web nhưng vì hôm này tìm được tài liệu khá hay về Linux. Híc nói rõ hơn là cái tài liệu này là do thầy Lê Quốc Tuấn giảng viên khoa CNTT trường dh GTVT TPHCM cung cấp nên mình post lên cho các bạn tham khảo. Mình hứa sẽ lấy nhiều tài liệu về bên Linux này cho các bạn rồi post lên (vì thầy chưa soạn xong nên chưa post hết được một lần nên mới post nhiều lần thế này).
Hệ thống tài liệu Linux này là giới thiệu và hướng dẫn các bạn sử dụng Linux tổng quan bằng dòng lệnh(command line). Tức là những gì giới thiệu trong tài liệu này sẽ giúp bạn sử dụng được tất cả các phiên bản của Linux từ unbuntu, Rehat, Fedora core...
Nhưng ở đây thì thầy của mình lấy Rehat ra làm ví dụ cho mọi người.
Việc cài đặt Linux trong window thì nó có một số bước hơi phức tạp so với việc cài Window nhưng mà trong trang web này bác Cường đã có file hướng dẫn các bạn cài Linux khi hệ thống bạn đang xài window rùi. Với ở đây mình xin post lên cái đường link hướng dẫn cài Fedora core 8 luôn cho các bạn
Đường link dưới đây là tài liệu tổng quan về Linux
Bài 1: Giới thiệu, cài đặt Redhat, và tổng quan các lệnh thông thường 2
Bài 2: : Cài đặt và Cấu hình DHCP Server 17
Bài 3: : Cài đặt và Cấu hình DNS Server 20
Bài 4: : Cài đặt và Cấu hình Samba Server 24
Bài 5: : Cài đặt và Cấu hình Squid Server 33
Bài 6: : Cài đặt và Cấu hình Apache Server 37
Bài 7: : Cài đặt và Cấu hình Sendmail 53
Bài 8: : Cài đặt và Cấu hình RAS 57
+ File đính kèm thứ nhất là tài liệu đã giới thiệu
+ Còn file đính kèm thứ 2 là bài giảng trên lớp
Theo Blog Lê cường
Yêu cầu trong bài lab hướng dẫn này
Đăng nhập vào hệ thống, sử dụng tài khoản root và thực hiện các yêu sau:
Mục tiêu bài lab
Giúp các bạn thực hiện các thao tác cơ bản về mạng trên môi trường Linux.
Mô hình sẽ thực hiện
Hướng dẫn thực hiện:
1. Xem tên máy, sau đó đổi tên thành linuxserver.
+ Xem tên máy
+ Đổi tên máy tạm thời thành linuxserver
+ Đổi vĩnh viễn thành linuxserver
Sửa file /etc/sysconfig/network thành
Gõ
Để khởi động lại máy giúp thay đổi có hiệu lực và các máy khác trên mạng nhận được sự thay đổi này.
2 & 3. Xem thông tin địa chỉ và trạng thái các giao tiếp mạng đang hoạt động.
Nếu giao tiếp mạng nào đang trong trạng thái hoạt động sẽ xuất hiện sau khi gõ lệnh ifconfig .
Dòng "UP BROADCAST RUNNING MULTICASTT" biểu diễn trạng thái giao tiếp mạng này đang hoạt động.
Để xem thông tin địa chỉ và trạng thái 1 giao tiếp mạng nào đó ta dùng lệnh sau:
Ví dụ:
4. Đặt địa chỉ card mạng (Tạm thời)
+ Đặt địa chỉ card mạng (Tạm thời)
=> Đổi tạm thời IP của card mạng eth1 thành 192.168.1.2 và SubNetMask thành 255.255.255.0
+ Đặt địa chỉ card mạng (Vĩnh viễn)
Lưu ý các thông số sau (Những gì sau dấu # là chú thích)
Thiết đặt DNS
Sửa nội dung thành như sau và lưu lại
Lưu ý: Sau khi cấu hình các thông số mạng nên khởi động lại dịch vụ mạng để thay đổi có hiệu lực bằng lệnh
Hoặc lệnh
5. Kiểm tra có liên thông với máy 192.168.1.1 hay không
(Gửi 4 gói tin ICMP để kiểm tra rồi ngưng, nếu không có tham số -c thì ping sẽ chạy mãi đến khi ta bấm Ctrl + C)
Nếu thông mạng thì kết quả sẽ dạng sau:
Bài lab đầu tiên về serial linux server kết thúc tại đây, mọi sao chép và trình dẫn xin vui lòng ghi rõ nguồn và link đến bài viết gốc.
Nguồn :sinhvienit
Đăng nhập vào hệ thống, sử dụng tài khoản root và thực hiện các yêu sau:
- Xem tên máy, sau đó đổi tên thành linuxserver.
- Xem thông tin về địa chỉ mạng của card eth1 và lo
- Xem trạng thái vật lý card mạng.
- Đặt địa chỉ mạng có thông tin sau:
- IP: 192.168.1.2
- SubnetMask: 255.255.255.0
- Default Getway: 192.168.1.1
- DNS: 8.8.8.8 / 8.8.4.4
- Kiểm tra máy cục bộ có liên thông với máy 192.168.1.1.
- Thay đổi địa chỉ ip trên thành địa 192.168.100.1/24, Defautl Getway: 192.168.100.10
Mục tiêu bài lab
Giúp các bạn thực hiện các thao tác cơ bản về mạng trên môi trường Linux.
Mô hình sẽ thực hiện
Hướng dẫn thực hiện:
1. Xem tên máy, sau đó đổi tên thành linuxserver.
+ Xem tên máy
Code:
# hostname
Code:
# hostname linuxserver
Sửa file /etc/sysconfig/network thành
Code:
NETWORKING=yes HOSTNAME=linuxserver
Code:
# init 6
2 & 3. Xem thông tin địa chỉ và trạng thái các giao tiếp mạng đang hoạt động.
Code:
# ifconfig
eth1 Link encap:Ethernet HWaddr 00:0C:29:A2:F4:6C
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fea2:f46c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:382 errors:0 dropped:0 overruns:0 frame:0
TX packets:106 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:63620 (62.1 KiB) TX bytes:18952 (18.5 KiB)
Interrupt:19 Base address:0x2000
Dòng "UP BROADCAST RUNNING MULTICASTT" biểu diễn trạng thái giao tiếp mạng này đang hoạt động.
Để xem thông tin địa chỉ và trạng thái 1 giao tiếp mạng nào đó ta dùng lệnh sau:
Code:
# ipconfig Tên_Giao_Tiếp_Mạng
Code:
# ipconfig eth1
4. Đặt địa chỉ card mạng (Tạm thời)
+ Đặt địa chỉ card mạng (Tạm thời)
Code:
# ifconfig eth1 192.168.1.2 netmask 255.255.255.0 up
+ Đặt địa chỉ card mạng (Vĩnh viễn)
Code:
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
Code:
DEVICE=eth1 # Tên của Interface ONBOOT=yes # Có Active Interface này khi máy vừa khởi động không IPADDR=192.168.1.2 # Ipv4 của Interface này BOOTPROTO=static #Nếu muốn nhận IP động thì để dhcp, nếu muốn tĩnh thì để static NETMASK=255.255.255.0 # Subnetmask của đường mạng này GATEWAY=192.168.1.1 # Default gateway
Code:
# vi /etc/resolv.conf
Code:
nameserver 8.8.8.8 nameserver 8.8.4.4
Code:
# service network restart
Code:
# /etc/init.d/network restart
Code:
# ping –c 4 192.168.1.1
Nếu thông mạng thì kết quả sẽ dạng sau:
Code:
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 64 bytes from 192.168.1.1: icmp_req=1 ttl=64 time=2.27 ms 64 bytes from 192.168.1.1: icmp_req=2 ttl=64 time=0.671 ms 64 bytes from 192.168.1.1: icmp_req=3 ttl=64 time=0.603 ms 64 bytes from 192.168.1.1: icmp_req=4 ttl=64 time=0.587 ms --- 192.168.1.1 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3002ms rtt min/avg/max/mdev = 0.587/1.033/2.271/0.715 ms
Bài lab đầu tiên về serial linux server kết thúc tại đây, mọi sao chép và trình dẫn xin vui lòng ghi rõ nguồn và link đến bài viết gốc.
Nguồn :sinhvienit
Phần mềm chuyển dữ liệu không dây cho Linux
Thứ Tư, 23 tháng 10, 2013
Posted by Admin
Tag :
Document
Flick for Linux cung cấp cho người dùng Linux một công cụ chia sẻ dữ liệu tiện ích, thông minh, đa nền tảng và hoàn toàn miễn phí.
Flick là một loại ứng dụng hiện đại, cải tiến. Đây cũng là phương pháp dễ dàng và đơn giản nhất để chia sẻ tài liệu, video và hình ảnh giữa các thiết bị di động, máy tính Linux với các thiết bị hoặc hệ điều hành khác. Tất cả được thực hiện bằng thao tác bắn từ một thiết bị sang thiết bị kế bên chạy ứng dụng Flick.
Theo đánh giá của người dùng, Flick là tiện ích dễ dàng nhất để chuyển ảnh giữa các nền tảng khác nhau, chẳng hạn giữa điện thoại smartphone và máy tính bảng với máy tính PC.
Tại sao người dùng lại yêu thích Flick?
Flick là một tiện ích chuyển dữ liệu hoàn toàn miễn phí. Người dùng có thể đặt ảnh, ghi chú cá nhân, tài liệu và danh sách số liên lạc vào Flicktop của mình và chuyển đến thiết bị bất kỳ nào khác cùng chạy chương trình này.
Tính năng Flicktop tích hợp sẵn cung cấp cho người dùng một layer an toàn, nơi các tệp tin được chia sẻ dễ dàng với thao tác chạm tay đơn giản. Khi tệp tin nằm trong Flicktop, bạn có toàn quyền quyết định xóa hay lưu chúng.
Giờ đây, người dùng không cần phải kết nối thông qua các hệ thống tệp tin phức tạp, các danh mục định vị và tệp tin để chia sẻ. Tất cả những gì bạn cần làm chỉ là bắn tệp tin giữa 2 thiết bị đặt cạnh nhau.
Một trong những tính năng hấp dẫn khác của Flick là "tự hủy" (Auto Destruct). Người dùng có thể thiết lập ảnh hoặc ghi chú được gửi đến bạn bè để tự động hủy sau một khoảng thời gian nhất định, giúp bạn bảo mật dữ liệu và không lo lắng những thông tin nhạy cảm bị phát tán rộng ra bên ngoài.
Ứng dụng sử dụng mạng không dây WiFi để kết nối các thiết bị và chia sẻ tệp tin. Ảnh, video, số liên lạc, ghi chú và trò chơi sẽ được cung cấp từ trong ứng dụng.
Tính năng chính của ứng dụng Flick for Linux:
- Bắn ảnh, video, ghi chú và số liên lạc giữa các thiết bị di động với Linux.
- Bắn ảnh, video, ghi chú và số liên lạc đến thiết bị Mac OS X.
- Bắn ảnh, video, ghi chú và số liên lạc đến các thiết bị và hệ điều hành khác.
- Bắn tài liệu từ các ứng dụng khác thông qua chức năng "mở trong ứng dụng khác".
- Phát các tệp tin, ảnh hoặc ghi chú tới các thiết bị được kết nối.
- Thiết lập ảnh, ghi chú và tài liệu khác ở chế độ tự hủy.
- Lưu ảnh đã nhận được vào thư viện thiết bị.
- Cho phép chụp ảnh hoặc quay video trực tiếp trong ứng dụng.
- Lưu tài liệu đã nhận thông qua chức năng "Open In".
- Dán ảnh hoặc tệp tin sao chép trên Flicktop để bắn sang thiết bị khác.
- Sao chép từ Flicktop sang các ứng dụng khác.
- Chọn hình nền cá nhân cho Flicktop.
- Hỗ trợ chơi cờ ca rô với những người dùng Flick khác.
Người dùng có thể liên hệ trực tiếp với nhà phát hành để gửi phản hồi, báo lỗi hay đề xuất tính năng mới cho các phiên bản sau.