<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 89, comments - 241, trackbacks - 0, articles - 1
       :: 首頁 ::  :: 聯(lián)系 :: 聚合  :: 管理

    Linux下Squid代理服務(wù)器的配置(轉(zhuǎn))

    啟動squid時如果不在squid.conf中設(shè)置主機名將無法啟動,必須要設(shè)置visible_hostname這個參數(shù)值,本文中,設(shè)置的主機名是服務(wù)器的真實機器名powersite,在squid.conf中找到該項并修改:
    visible_hostname linuxserver

    你想讓所有員工僅在上班時可上網(wǎng),而且不允許192.168.1.23這臺主機上網(wǎng),可以加入這樣的配置:
    # 將以下ACL添加到squid.conf的ACL配置部分
    acl home_network src 192.168.1.0/24
    acl business_hours time M T W H F 9:00-17:00
    acl RestrictedHost src 192.168.1.23
    # 將這些內(nèi)容添加到squid.conf的http_access配置部分
    http_access deny RestrictedHost
    http_access allow home_network business_hours

    你只想在早晨這段時間允許員工訪問Internet:
    # 將以下ACL添加到squid.conf的ACL配置部分
    acl mornings time 08:00-12:00
    # 將這些內(nèi)容添加到squid.conf的http_access配置部分
    http_access allow mornings

    Squid支持從外部讀取包含有web站點或域名的文件進行ACL限制。在下面的例子中創(chuàng)建了兩個文件,/etc/squid/allowed-sites.squid和/etc/squid/restricted-sites.squid,很明顯,一個是允許訪問的站點文件,另一個是限制訪問站點文件。
    # vi /etc/squid/allowed-sites.squid
    www.163.com
    www.yahoo.cn

    # vi /etc/squid/restricted-sites.squid
    www.sex.com
    sex.com
    然后配置在工作時間允許或限制訪問的目標站點,以下的ACL配置和前面的略微不同:
    #
    # 將以下ACL添加到squid.conf的ACL配置部分
    #
    acl home_network src 192.168.1.0/24
    acl business_hours time M T W H F 9:00-17:00
    acl GoodSites dstdomain "/etc/squid/allowed-sites.squid"
    acl BadSites dstdomain "/etc/squid/restricted-sites.squid"

    #
    # 將這些內(nèi)容添加到squid.conf的http_access配置部分
    #
    http_access deny BadSites
    http_access allow home_network business_hours GoodSites

    根據(jù)IP地址限制Web訪問
    這個ACL訪問控制列表可以限制整個一個網(wǎng)段,功能還是很強的。
    #
    # 將以下ACL添加到squid.conf的ACL配置部分
    #
    acl home_network src 192.168.1.0/255.255.255.0
    然后添加http_access允許這個ACL:
    #
    # 將這些內(nèi)容添加到squid.conf的http_access配置部分
    #
    http_access allow home_network

    設(shè)置Squid為透明代理
    如果客戶端連接網(wǎng)絡(luò),就需要在瀏覽器設(shè)置Squid代理服務(wù)器,這是件比較麻煩的工作,而且代理服務(wù)器的地址或端口更換,每臺服務(wù)器都必須重新設(shè)置才能生效,想解決這個問題,可以使用透明代理的方法。透明代理就是使用iptables防火墻將squid的3128端口的請求全部轉(zhuǎn)發(fā)到HTTP的80端口,從而實現(xiàn)透明代理。
    2.6內(nèi)核版本之上:新版本的squid只需要修改成如下的內(nèi)容即可。默認是“http_port 3128”,要將其改為“http_port 3128 transparent”的形式:
    另外還要配置iptables防火墻
    在下面兩個例子中,作為防火墻的服務(wù)器有兩塊網(wǎng)卡,連接Internet的eth0和連接內(nèi)網(wǎng)的eth1,同時防火墻也是內(nèi)網(wǎng)的網(wǎng)關(guān)。
    如果Squid服務(wù)器和防火墻在一臺服務(wù)器上,那么所有的HTTP80端口的請求將轉(zhuǎn)發(fā)到Squid服務(wù)的配置端口3128上。
    iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
    iptables -A INPUT -j ACCEPT -m state --state NEW,ESTABLISHED,RELATED -i eth1 -p tcp --dport 3128
    iptables -A OUTPUT -j ACCEPT -m state --state NEW,ESTABLISHED,RELATED -o eth0 -p tcp --dport 80
    iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED -i eth0 -p tcp --sport 80
    iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED -o eth1 -p tcp --sport 80
    如果Squid服務(wù)器和防火墻在不同的服務(wù)器上,iptables的規(guī)則將有所不同:
    iptables -t nat -A PREROUTING -i eth1 -s ! 192.168.1.100 -p tcp --dport 80 -j DNAT --to 192.168.1.100:3128
    iptables -t nat -A POSTROUTING -o eth1 -s 192.168.1.0/24 -d 192.168.1.100 -j SNAT --to 192.168.1.1
    iptables -A FORWARD -s 192.168.1.0/24 -d 192.168.1.100 -i eth1 -o eth1 -m state
    --state NEW,ESTABLISHED,RELATED -p tcp --dport 3128 -j ACCEPT
    iptables -A FORWARD -d 192.168.1.0/24 -s 192.168.1.100 -i eth1 -o eth1 -m state --state ESTABLISHED,RELATED -p tcp --sport 3128 -j ACCEPT

    Squid的密碼驗證
    1) 創(chuàng)建密碼文件。密碼和用戶名存放在/etc/squid/squid_passwd文件中,并需要將這個文件的權(quán)限設(shè)置為其它用戶只讀。
    # touch /etc/squid/squid_passwd
    # chmod o+r /etc/squid/squid_passwd
    (2)使用htpasswd添加用戶,并設(shè)置密碼。添加用戶不需要對squid進行重啟操作,我創(chuàng)建的用戶名是www
    # htpasswd /etc/squid/squid_passwd www
    New password:
    Re-type password for user www
    #
    (3)找到ncsa_auth命令的具體位置,后面的配置需要用到絕對路徑
    # which ncsa_auth
    /usr/sbin/ncsa_auth
    (4) 然后我們就要在squid.conf文件中定義驗證程序了,創(chuàng)建名為ncsa_users的ACL并加入關(guān)鍵字REQUIRED來強制讓Squid使用NCSA驗證方法。
    #
    # 在squid.conf的auth_param部分添加下列內(nèi)容
    #
    auth_param basic program /usr/sbin/ncsa_auth /etc/squid/squid_passwd

    #
    # 將以下ACL添加到squid.conf的ACL配置部分
    #
    acl ncsa_users proxy_auth REQUIRED

    #
    # 將這些內(nèi)容添加到squid.conf的http_access配置部分
    #
    http_access allow ncsa_users



    沒有所謂的命運,只有不同的選擇!
    主站蜘蛛池模板: 亚洲最新永久在线观看| 国产成人综合亚洲AV第一页 | 国产在线精品免费aaa片| 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲首页国产精品丝袜| 久久久久久国产a免费观看黄色大片 | 亚洲成人中文字幕| 二个人看的www免费视频| 久久亚洲av无码精品浪潮| 日韩电影免费在线观看网址| 亚洲第一区精品观看| 国产精品高清免费网站| 久久亚洲国产午夜精品理论片| 三年片在线观看免费西瓜视频| 亚洲精品蜜桃久久久久久| 久久精品无码精品免费专区| 亚洲色四在线视频观看| 99久久精品日本一区二区免费 | 免费三级毛片电影片| 亚洲第一区二区快射影院| 四虎永久精品免费观看| 中文字幕免费在线看| 亚洲av日韩av无码| 无码人妻一区二区三区免费手机| 亚洲1234区乱码| 免费在线观看你懂的| 久久国产精品免费一区二区三区| 久久久久亚洲Av无码专| 国产精品成人免费一区二区 | 99久久99久久免费精品小说| 亚洲成av人片不卡无码| 四虎在线视频免费观看| sss在线观看免费高清| 亚洲最大成人网色| 日韩成人在线免费视频| 国产黄色免费观看| 亚洲码在线中文在线观看| 日韩在线a视频免费播放| 伊人久久大香线蕉免费视频| 亚洲国产成人91精品| 免费在线观看理论片|