Proxy server ubuntu 11.10

สภาวะแวดล้อม

-Ubuntu Server 11.10         64  bit

-squid 2.7.9

-isc-dhcp-server

1.ติดตั้ง ubuntu   ดาวน์โหลดทีนี่   หรือ คลิกที่นี่  จากนั้นสั่ง update
#sudo apt-get  update
2.ตั้งค่า การ์ดแลน
eth0 เชื่อมต่อกับภายนอก
eth1 เชื่อมต่อกับ LAN ภายใน

#nano /etc/network/interfaces
set ค่าตามนี้

##
auto eth0
iface eth0 inet static
address 122.154.157.104
netmask 255.255.255.240
gateway 122.154.157.97
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.240.0
broadcast 192.168.15.255

##

รีสตาร์ทเน็ตเวิร์ค
#sudo /etc/init.d/networking restart
# nano /etc/sysctl.conf
เอาเครื่องหมาย # หน้าบรรทัดนี้ออก
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

เพิ่มกฏใน iptables

วิธีที่1
#nano /etc/rc.local
เพิ่มค่าดังนี้
# By default this script does nothing.
#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#iptables -t nat -A PREROUTING -i eth1 -p tcp -dport 80 -j REDIRECT –to-port 8080

iptables -t nat -F
iptables -t mangle -F
iptables -t filter -F
iptables -X
iptables -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -s 192.168.0.0/20 -o eth0 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-port 3128
iptables -A FORWARD -d 192.168.0.0/20 -m state –state ESTABLISHED,RELATED -i eth0 -j ACCEPT
iptables -t nat -I PREROUTING -i eth1 -p tcp -m tcp –dport 80 -j REDIRECT –to-ports 3128

exit 0
ต่อไป
#nano /home/admin1/net.sh
เพิ่มข้อความนี้เข้าไป
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -F
iptables -t mangle -F
iptables -t filter -F
iptables -X
iptables -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -s 192.168.0.0/20 -o eth0 -j ACCEPT
iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-port 3128
iptables -A FORWARD -d 192.168.0.0/20 -m state –state ESTABLISHED,RELATED -i eth0 -j ACCEPT
iptables -t nat -I PREROUTING -i eth1 -p tcp -m tcp –dport 80 -j REDIRECT –to-ports 3128
บันทึกไฟล์
เข้าไปใน /home/admin1  ——> admin1 คือ  directoryของ user admin1
#chmod a+x net.sh
#./net.sh

 

วิธีที่2

หรือแบบนี้ใน etc/rc.local ก็ได้ครับสั้นดี  ( อย่าลืมลบตัวเดิมใน rc.local ออกก่อนนะครับ )

#echo 1 > /proc/sys/net/ipv4/ip_forward

#nano /etc/rc.local  แล้วเพิ่มข้อความนี้ก่อน  exit 0
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-port 3128
ต่อไป ติดตั้ง squid
#sudo apt-get install squid3
#nano /etc/squid/squid.conf
แก้ตามนี้
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
#acl localnet src 10.0.0.0/8    # RFC1918 possible internal network
#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/20 # RFC1918 possible internal network
#http_port 3128
http_port 3128 transparent
cache_dir ufs /var/spool/squid3  5000 16 256
access_log /var/log/squid3/access.log squid
cache_store_log /var/log/squid3/store.log
cache_log /var/log/squid3/cache.log

cache_mem 512 MB

http_access allow localnet ( เอาเครื่องหมาย #  ออก )
ต่อไปกำหนดสิทธิ์ไฟล์
#sudo chown -R proxy:proxy /var/log/squid3/
#sudo chown proxy:proxy /etc/squid3/squid.conf
#sudo /etc/init.d/squid3  restart

ติดตั้ง dhcp
#sudo apt-get install isc-dhcp-server
#nano /etc/dhcp/dhcpd.conf
กำหนดค่าดังนี้
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.0.0 netmask 255.255.240.0 {
range 192.168.0.20  192.168.15.254;
option routers 192.168.0.1;
option  domain-name-servers 202.129.27.133;
option domain-name”rc.com”;
option broadcast-address 192.168.15.255;
}
นอกนั้นปิดหมด
# nano /etc/default/isc-dhcp-server
กำหนดค่าดังนี้
INTERFACES=”eth1″

แก้การ rotate  log

#nano /etc/logrotate.conf

แก้ไขค่าดังนี้

# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 14

รีสตาร์ท dhcp
sudo service isc-dhcp-server restart
————————————————————————-
สั่ง reboot  server

Categories: ข่าวประชาสัมพันธ์ | ใส่ความเห็น

เมนูนำทาง เรื่อง

แสดงความเห็นเกี่ยวกับเรื่องนี้

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

บลอกที่ WordPress.com .

%d bloggers like this: