Monday, October 5, 2009

Ubuntu Server 9.04 дээр Squid, DHCP, NAT тохируулан интернетийн хаалгач болгон ашиглах

За ийнхүү өөрт хэрэгтэй зүйлээ олж мэдээд хэрэгжүүлснийхээ үндсэн дээр хэн нэгэнд хэрэг болж магад гээд орууллаа.

Squid - веб cache хийн интернетийн ачааллийг хөнгөвчилж өгнө. Өөрөөр хэлбэл ачаалагдсан вебийг cache-дээ түр хадгалаад дахин ачаалах үед тэндээсээ ачаалан интернетийн ачааллийг багасгана гэж ойлгож болно.

DHCP /Dynamic Host Configuration Protocol/ - Маш хэрэгтэй протокол. Үүнийг ажиллуулсанаар client PC болгон дээр сүлжээний тохиргоо хийх шаардлагагүй болно. Сүлжээний тохиргоо автоматаар хийгдэнэ.

NAT /Network Address Translation/ - Сервер дээрх 2 NIC-ийн хоорондох холбоог зөвшөөрнө. Үүнийг тохируулсанаар Proxy server тохируулсны дараа Client PC-нүүдийн Browser дээр Proxy серверийн хаягийг зааж өгөх шаардлагагүй гэсэн үг.

Шаардлагатай зүйлсүүд:
- Тохируулах гэж буй сервер РС /with 2 NIC
- Тестлэх зорилгоор нэг windows РС
- Switch, cable

Cуулгах үед анхаарах тохиргоо
Суулгаж байх явцад сүлжээний тохируулгийг хийхдээ eth0-ийг үндсэн картаар сонгон IP хаягийг Интернетэд гарах гарцаар тохируулж өгнө. Өөрөөр хэлбэл eth0 нь WAN сүлжээнд, eth1 нь LAN сүлжээнд.
Сууласны дараа хийгдэх тохируулгууд бүгд su /Super User/ эрхээр нэвтрэхийг шаардана. Иймд суулгаж байх үед үүсгэсэн хэрэглэгчээр нэвтэрсэн бол sudo passwd коммандаар su хэрэглэгчийн нууц үгийг оруулж өгнө. Дараа нь su коммандаар нэвтэрнэ.

2. Сүлжээний тохиргоог хийх
Ubuntu дээр сүлжээний тохируулга нь /etc/network/interfaces дотор хийгдэнэ.
Суулгаж байх явцад eth0-ийн тохиргоог хийсэн бол одоо eth1-ийг тохируулна.
nano /etc/network/interfaces
дараах тохируулгыг нэмнэ.

auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0

Сүлжээний тохируулгыг дахин ачаална. /etc/init.d/networking restart

3. Squid-ийг тохируулах
Squid-ийг суулгах: apt-get install squid squid-common
Тохируулга нь /etc/squid/squid.conf файлд хийгдэнэ.
nano /etc/squid/squid.conf
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network
гэсний доор дараах бичиглэлийг нэмээд хадгалаад хаана

acl anyname src 192.168.0.0/24
http_access allow anyname

Squid-ийг дахин ачаалах: /etc/init.d/squid restart

4. DHCP тохируулах
Суулгахдаа apt-get install dhcp3-server
Тохируулгын файл нь: /etc/dhcp3/dhcpd.conf

# A slightly different configuration for an internal subnet.
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.2 192.168.0.254;
option domain-name-servers 202.72.241.4; /Өөрийн DNS-ийн хаягийг оруулаарай/
option routers 192.168.0.1;
default-lease-time 600;
max-lease-time 7200;
}

DHCP-г дахин ачаалах: /etc/init.d/dhcp3-server restart

5. NAT тохиргоо
NAT-ийг 2 янзаар хийж болно. iptable дээр болон ufw /firewall/ дээр. Энэхүү жишээн дээр бид ufw masquerading хийнэ.
/etc/default/ufw доторх DEFAULT_FORWARD_POLICY -ийн утгийг ACCEPT болгож өөрчилнө.
DEFAULT_FORWARD_POLICY="ACCEPT"

/etc/ufw/sysctl.conf доторх доорх 2 мөрийн чягтийг авна.
net.ipv4.ip_forward=1
net.ipv6.conf.default.forwarding=1


/etc/ufw/before.rules файлийн дээд хэсэгт comment-ийн доор дараах бичиглэлийг нэмж оруулна.
# nat Table rules
*nat
:POSTROUTING ACCEPT [0:0]

# Forward traffic from eth1 through eth0.
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

# don't delete the 'COMMIT' line or these nat table rules won't be processed
COMMIT


эцэст нь firewall-ийг хааж нээж өгнө.
ufw disable && sudo ufw enable

Ийнхүү Proxy сервер-ээр хаалгач болгож ашигласны дараах шат гэвэл бид Squid-ийн ACL /Аccess Control List/ -ийг ашиглан хэрэглэгчдэд төрөл бүрийн хязгаарлалтыг хийх боломжтой болж байгаа юм.

2 comments:

  1. блогийг чинь http://planet.limnux.org дээр нэмчихэж болох уу? линукс хэрэглэдэг олон хүнд хүрээсэй гэж бодож байна.

    ReplyDelete