Lab cấu hình DHCP – Proxy mutil scope trên CentOS
Mô hình bao gồm 1 DHCP-Proxy có 3 lớp mạng :
eth0: 192.168.1.254/24
eth1: 192.168.2.1/24
eth2: 192.168.3.1/24
Trên máy DHCP làm những bước sau:
file cấu hình cấp IP multi scope như sau :
Cho nhận IP từ port của gateway 3.1 client sẽ nhận IP động từ eth2 có dạng 192.168.3.x
eth0: 192.168.1.254/24
eth1: 192.168.2.1/24
eth2: 192.168.3.1/24
Trên máy DHCP làm những bước sau:
mount /dev/cdrom /media/để cài DHCP, sau đó copy file confìg mẫu sang thư mục etc:
rpm -ivh /media/CentOS/dhcp-3.0.5-31.el5.i386.rpm
cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.confNhập ‘ y ‘ để chép đè.
nano /etc/dhcpd.confđể sửa và cấu hình bao gồm lớp mạng hệ thống LAN,gateway,subnet,domain và dãy ip sẽ được DHCP cấp phát:
file cấu hình cấp IP multi scope như sau :
ddns-update-style interim;sau khi edit xong thoát ra save file lại, thực hiện:
ignore client-updates;
subnet 192.168.1.0 netmask 255.255.255.0 {
}
subnet 192.168.2.0 netmask 255.255.255.0 {
option routers 192.168.2.1;
option domain-name-servers 192.168.1.1;
range 192.168.2.10 192.168.2.99;
}
subnet 192.168.3.0 netmask 255.25.255.0 {
option routers 192.168.3.1;
option domain-name-servers 192.168.1.1
range 192.168.3.101 192.168.3.250;
}
….subnet n…
service dhcpd startOK, lấy máy ra cho nhận IP từ port của gateway 2.1 client sẽ nhận IP động từ eth1 có dạng 192.168.2.x
chkconfig dhcpd on
chkconfig –list dhcpd
Cho nhận IP từ port của gateway 3.1 client sẽ nhận IP động từ eth2 có dạng 192.168.3.x
Câu lệnh cần thiết trong bài tập triển khai hệ thống mạng Linux
08JUN
Bài tập này bao gồm 1 DHCP, 1 FireWall, 1 Web+Mail server và các máy client XP.
Tuy nhiên tôi không quan tâm đến việc cấu hình DNS và WebMail server. Chủ yếu ở đây là làm cho mạng trong LAN có thể ra net và mạng ngoài có thể truy cập dịch vụ ở các máy bên trong thông qua tường lửa.
Firewall:
+có 2 NIC :
Card ngoài: 192.168.1.254
Card trong : 10.0.0.1
DHCP và Web+mail server có IP l10.0.0.2 và 10.0.0.3, và đều có gateway là 10.0.0.1
Client XP : IP nhận từ DHCP.
Trên máy DHCP làm những bước sau:
Để xem ip nào được cấp đi trên DHCP ta gõ lệnh:
dẫn đến máy trạm trong LAN sẽ ko vào net được, cho nên muốn nó luôn luôn có giá trị 1 thì sửa file này:
Bắt đầu NAT:
Đây chỉ mới NAT cho bên trong LAN ra được ngoài net (NAT OUT) , muốn bên ngoài truy cập được bên các dịch vụ bên trong LAN thông qua ip mặc ngoài của Firewall ta phải thực hiện bước NAT IN.
tail -l /var/log/squid/access.log
Bài này tôi tự viết lại sau khi thực hành 1 hệ thống mạng Linux như trên. Có thể còn nhiều thiếu sót, mong các bạn góp ý. Chúc mọi người thành công với bài thực hành này.
Tuy nhiên tôi không quan tâm đến việc cấu hình DNS và WebMail server. Chủ yếu ở đây là làm cho mạng trong LAN có thể ra net và mạng ngoài có thể truy cập dịch vụ ở các máy bên trong thông qua tường lửa.
Firewall:
+có 2 NIC :
Card ngoài: 192.168.1.254
Card trong : 10.0.0.1
DHCP và Web+mail server có IP l10.0.0.2 và 10.0.0.3, và đều có gateway là 10.0.0.1
Client XP : IP nhận từ DHCP.
Trên máy DHCP làm những bước sau:
mount /dev/cdrom /media/để cài DHCP, sau đó copy file confìg mẫu sang thư mục etc:
rpm -ivh /media/CentOS/dhcp-3.0.5-31.el5.i386.rpm
cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.confNhập ‘ y ‘ để chép đè.
nano /etc/dhcpd.confđể sửa và cấu hình bao gồm lớp mạng hệ thống LAN,gateway,subnet,domain và dãy ip sẽ được DHCP cấp phát…
service dhcpd startOk, bây giờ lấy máy XP cho nhận IP tự động sẽ nhận được IP từ DHCP cấp bao gồm IP,SUBNET,DNS…
chkconfig dhcpd on
chkconfig –list dhcpd
Để xem ip nào được cấp đi trên DHCP ta gõ lệnh:
cat/var/lib/dhcpd/dhcpd.leasesClient XP sẽ nhận ip LAN nhưng hiện tại vẫn chưa truy cập net được, bây giờ hãy chuyển sang cấu hình Firewall, gõ setup, firewall config-> trusted eth0 và eth1, OK.
iptables –Ldo mỗi lẫn khởi động lại máy thì ip_forward sẽ bị trả về giá trị mặc định là 0
echo ’1′ >/proc/sys/net/ipv4/ip_forward
dẫn đến máy trạm trong LAN sẽ ko vào net được, cho nên muốn nó luôn luôn có giá trị 1 thì sửa file này:
nano /etc/sysctl.confTìm dòng :
net.ipv4.ip_forward =0sửa số 0 thành số 1
Bắt đầu NAT:
iptables -t nat -A POSTROUTING -s 10.0.0.0/8 -d 0/0 -o eth0 -j MASQUERADEKiểm tra máy trạm đã vào net được chưa, nếu chưa thì xem kỹ lại các bước iptables, ip_forward…
(để xóa POSTROUTING ta dùng -D thay vì -A POSTROUTING)
service iptables save
service iptables restart
Đây chỉ mới NAT cho bên trong LAN ra được ngoài net (NAT OUT) , muốn bên ngoài truy cập được bên các dịch vụ bên trong LAN thông qua ip mặc ngoài của Firewall ta phải thực hiện bước NAT IN.
iptables -t nat -a PREROUTING -d 192.168.1.254 -i -p tcp -m tcp –dport 80 -j DNAT –to-destination 10.0.0.3:80Tương tự như vậy thay đổi số port cho từng máy và từng dịch vụ
service iptables saveTại bước này hầu như cả mạng trong và ngoài đều đã thấy nhau. Tuy nhiên, máy bên trong truy cập ra ngoài net mà ta vẫn chưa quản lý được truy cập client, như thời gian lên net và những web đen, virus gây nghẽn mạng. Để máy con truy cập ra net buộc phải chấp hành những rule của firewall ta có cơ chế Proxy, tiếp tục tiến hành bước xây dựng Proxy để có thể quản lý được client cũng như tăng tốc độ truy cập net…
service iptables restart
rpm -ivh /media/CentOS/squid-2.6.STABLE21-6.el5.i386.rpmTa tìm và sửa những dòng sau:( bỏ dấu # đằng trước các rule ta sửa )
nano /etc/squid/squid.conf
port 3218thành port proxy mà ta muốn. Ở đây dùng port 8080, ta sửa 3218 thành 8080, tìm tiếp dòng
cache_memsửa thành số MB RAM mà proxy sử dụng. Tiếp tục sửa dòng :
cache_dirTham số 100 16 256 (100 MB cache ổ cứng, 16 thư mục cache, 256 thư mục cấp 2 của thư mục cache). Tìm đến dòng:
acl our_network src 10.0.0.0/8sửa thành lớp mạng của hệ thống. Chuyển đến dòng:
visible_hostnameNgay trên chữ #Default ta để tên máy chủ proxy.
ví dụ :Để tạo thư mực swap chứa thông tin cache:
visible_hostname firewall.domain.com
#Default….
…………………
Save lại, thoát ra.
squid -zĐể máy trạm mỗi khi truy cập net không phải vào Internet Option để đặt cổng proxy ta chuyển hướng tự động cho máy trạm, buộc phải đi qua proxy mới ra net được, ta sửa lại dòng :
service squid start
chkconfig squid on
netstat -an | grep 8080 (Để ktra port 8080 đã mở chưa)
service squid restart
port 8080, ta thêm chữ transparent, ví dụ:* Lưu lại, thoát ra, restart lại squid
http_port 8080 transparent
service squid restartCấm user truy cập web nào đó hoặc cấm máy nào đó ko cho truy cập net:
iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-port 8080
service iptables save
service iptables restart
nano /squid/webdeny* Lưu lại, thoát ra, restart lại squid
Nhập vào danh sách site cấm truy cập.
Save lại. Mở file cấu hình squid để thêm rule cho proxy.
nano /etc/squid/squid.conf
Tìm đến dòng
acl our_network src 10.0.0.0/8
thêm vào bên dưới rule cấm truy cập web, cấm 1 máy nào đó ko cho ra net…
acl our_network src 10.0.0.0/8
acl webdeny dstdomain “/etc/squid/webdeny”
acl hostdeny src 10.0.0.200/32( máy cần cấm ra net)
http_access deny webdeny
http_access deny hostdeny
http_access allow our_network
service squid restartKtra máy trạm đã vào net và vào trang web nào :
tail -l /var/log/squid/access.log
Bài này tôi tự viết lại sau khi thực hành 1 hệ thống mạng Linux như trên. Có thể còn nhiều thiếu sót, mong các bạn góp ý. Chúc mọi người thành công với bài thực hành này.