yahoo.com 및 모든 하위 도메인에 대한 액세스를 제한해야 합니다 elinks
. 오징어를 사용해야 했어요.
답변1
당신은 그것을 사용할 수 있습니다
acl my_network src 192.168.0.0/16 # RFC1918 possible internal network
acl block_yahoo dstdomain .yahoo.com
http_access deny my_network block_yahoo
http_access allow my_network
http_access deny all
"/etc/squid/squid.conf"에 위 줄을 추가한 후 다음 명령을 실행하여 오징어 구성을 다시 로드하세요.
squid -k reconfigure
인용하다이 링크더 많은 정보를 알고 싶다면
답변2
2개의 이더넷 카드를 사용한 오징어 인터넷 필터링
여기서는 Centos 6.5를 Squid 서버로 사용합니다.
이더넷 카드가 2개 있습니다.
192.168.1.0/24가 ISP 라우터 @ 192.168.1.1에 연결되어 있고 IP 192.168.1.15가 할당된 eth0
eth1, 네트워크는 198.168.0.0/24 로컬 네트워크의 DHCP 서버이거나 고정 IP인 192.168.0.15를 사용합니다.
iptable에는 리디렉션을 위한 squid3 리디렉션 규칙을 포함한 기본 규칙이 있습니다.
두 이더넷 카드 모두 서로 다른 네트워크에 할당된 고정 IP 주소가 필요합니다.
아래에 차단된 파일 목록을 만듭니다.
vim /etc/squid/blockedsites.squid
차단할 웹사이트를 입력하세요
.facebook.com
.skypeassets.com
.yahoo.com
.ui.skype.com
.twitter.com
.ndtv.com
차단된 키워드 목록 만들기
`vim /etc/squid/blockkeywords.squid`
porn
xxx
차단된 IP 목록 만들기
vim /etc/squid/blockip.squid
192.168.0.125
허용된 IP 목록 생성
vim /etc/squid/allowip.squid
192.168.0.10
구성 파일을 편집하고 다음 규칙을 입력하십시오.
vim /etc/squid/squid.conf
각각에 필요한 규칙을 변경합니다.
#########################################################################
##### Restricting Web Access By Time #####
acl home_network src 192.168.0.0/24
acl business_hours time M T W H F A 08:45-22:00
acl RestrictedHost src 192.168.0.221
# Restricting Web Access By Time
http_access deny RestrictedHost
http_access allow home_network business_hours
#########################################################################
acl blockregexurl url_regex -i .facebook.com gtalk.google.com talkx.l.google.com .facebook.com .mail.gmail.com .skype.com
http_access deny blockregexurl
#########################################################################
##### Block Using Mac Address #####
#acl badmac arp E3:40:G8:07:B7:54
#http_access deny badmac
#########################################################################
#### Block Using Port of Specific IP ####
#acl block_port port 1234
#acl no_block_port_ip src 192.168.1.36
#http_access deny block_port !no_block_port_ip
#http_access allow all
#########################################################################
#####Restricting Access to specific web sites#####
# ACL blocksites
acl blocksites dstdomain "/etc/squid/blockedsites.squid"
# Deny access to blocksites ACL
http_access deny blocksites
#########################################################################
# ACL blockkeywords
acl blockkeywords url_regex -i "/etc/squid/blockkeywords.squid"
# Deny access to blockkeywords ACL
http_access deny blockkeywords
#########################################################################
##### Restricting Access to specific Ipaddress #####
# ACL blockip
acl blockip src "/etc/squid/blockip.squid"
# Deny access to blockip ACL
http_access deny blockip
#########################################################################
# ACL allowip
acl allowip src "/etc/squid/allowip.squid"
http_access allow allowip
#########################################################################
##### Restricting Download size #####
#Restrict download size
#reply_body_max_size 100 MB all
#########################################################################
##### facebook Rule ######
acl fb dstdomain .facebook.com
acl officetime time M T W H F A 9:30-18:00
# Facebook Restriction
http_reply_access deny fb officetime
http_access deny CONNECT fb officetime
#########################################################################
###### Hotmail MSN Block######
acl msn url_regex messenger.hotmail.com
# Yahoo! Messenger
acl ym dstdomain .messenger.yahoo.com .psq.yahoo.com
acl ym dstdomain .us.il.yimg.com .msg.yahoo.com .pager.yahoo.com
acl ym dstdomain .rareedge.com .ytunnelpro.com .chat.yahoo.com
acl ym dstdomain .voice.yahoo.com
acl ymregex url_regex yupdater.yim ymsgr myspaceim
acl ym dstdomain .skype.com .imvu.com
# Yahoo Messenger
http_access deny ym
http_access deny ymregex
#########################################################################
##### MSN Imagine messenger Restriction#####
acl messenger_site dstdomain .imagine-msn.com/messenger
##### Google Talk Restriction #####
acl messenger_site dstdomain .talk.google.com
##### Google talk ssl Restriction #####
acl messenger_site dstdomain talkx.l.google.com:443
acl gtalk dstdomain gtalk.google.com talkx.l.google.com
##### Ebuddy Messenger Restrcition #####
acl messenger_site dstdomain .ebuddy.com
http_access deny messenger_site
#########################################################################
#### Skype Messenger Block #####
# Skype
acl numeric_IPs dstdom_regex ^(([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)|(\[([0-9af]+)?:([0-9af:]+)?:([0-9af]+)?\])):443
acl Skype_UA browser ^skype
acl validUserAgent browser \S+
# Skype Restriction
http_access deny numeric_IPS
http_access deny Skype_UA
http_access deny !validUserAgent
###########################################################################
# Hostname
visible_hostname squidserver
###########################################################################
# Squid normally listens to port 3128
http_port 3128 intercept
###########################################################################
필요에 맞게 ACL을 변경하세요.
그런 다음 프록시 서버에 iptables를 추가하고 .sh 파일을 생성하고 저장한 후 sh를 사용하여 실행합니다.
vim iptables.sh
생성된 sh 파일에 스크립트를 입력합니다.
#! /bin/sh
#just for the sake of turning the networks off and on... not sure if it would work turning them back on only at the end of script ?
ifconfig eth0 down;
ifconfig eth1 down;
ifconfig lo down;
ifconfig lo up;
ifconfig eth0 up;
ifconfig eth1 up;
ifup eth0;
ifup eth1;
#I seemed to have some issues with the routing table so i thought I throw in a check up :
route add 127.0.0.1 dev lo;
route add -net 127.0.0.0/8 dev lo;
route add -net 192.168.0.0/24 dev eth1;
route add 192.168.1.0 dev eth0;
route add default gw 192.168.1.1;
# turn fowarding off while configuring iptables :
sysctl net/ipv4/ip_forward=0
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD ACCEPT
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
#And on again once the policies are set
sysctl net/ipv4/ip_forward=1
#redirect port 80 on lan card and masquerade on wan card :
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
#accept all packets in lo and protect against spoofing :
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i !lo -s 127.0.0.0/8 -j DROP
iptables -A FORWARD -i !lo -s 127.0.0.0/8 -j DROP
#accept only established input but all output on WAN card
iptables -A OUTPUT -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
#just forget the invalid packets :
iptables -A OUTPUT -o eth0 -m state --state INVALID -j DROP
iptables -A INPUT -i eth0 -m state --state INVALID -j DROP
#not sure whether to put this before or after spoofing protection ?
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT
#against spoofing on LAN card input :
iptables -A INPUT -i !eth1 -s 192.168.0.0/24 -j DROP
iptables -A FORWARD -i !eth1 -s 192.168.0.0/24 -j DROP
그런 다음 다음을 사용하여 스크립트를 실행하십시오.
sh iptables.sh
명령을 사용하여 iptables를 확인하십시오.
iptables -L
iptables를 사용하여 저장
iptables-save > /root/iptables_save.ip
그렇지 않은 경우 iptables 스크립트를 rc 파일에 추가하여 재부팅할 때마다 실행되도록 합니다.
vim /etc/rc.local
이것을 rc.local 파일에 추가하십시오
sh /root/iptables.sh
그런 다음 클라이언트 컴퓨터의 IP를 192.168.0.1로 변경하고 게이트웨이를 프록시 IP 주소로 변경합니다.
예를 들어:
address 192.168.0.99
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.15
그게 다야 ..
이는 https를 차단하지 않으며 사용자는 계속해서 https 사이트를 탐색할 수 있습니다. https를 차단해야 하는 경우 각 브라우저에 squid 서버 프록시 설정을 추가해야 합니다.
https의 투명 설정을 차단해야 하는 경우 모든 https 사이트를 확실히 차단하는 SSL Bump를 설정해야 합니다.
위의 내용에 대해서는 내 웹사이트 게시물을 확인하시기 바랍니다.2개의 이더넷 카드를 사용한 오징어 인터넷 필터링