<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4546976270960915149</id><updated>2026-03-13T05:07:55.773+04:00</updated><title type='text'>Linux Tips, Troubleshooting, Package, Installation Tools</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-964381263457597473</id><published>2011-01-04T14:43:00.000+04:00</published><updated>2011-01-04T14:43:43.412+04:00</updated><title type='text'>ipsec tunnel pfSense and Centos</title><content type='html'>pfSense 1.2.3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
&lt;br /&gt;
external ip: 1.1.1.1&lt;br /&gt;
&lt;br /&gt;
internal ip: 172.20.1.20&lt;br /&gt;
&lt;br /&gt;
internal network: 172.20.1.0/24&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Centos 5.5&lt;br /&gt;
&lt;br /&gt;
--------&lt;br /&gt;
&lt;br /&gt;
external ip: 2.2.2.2&lt;br /&gt;
&lt;br /&gt;
internal ip: 172.20.2.1&lt;br /&gt;
&lt;br /&gt;
internal network: 172.20.2.0/24&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
pfSense config from a reset.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Firewall rule to allow all ipsec communication (all protocols).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
pfSense ipsec config&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
Mode: Tunnel&lt;br /&gt;
&lt;br /&gt;
Interface: WAN (I&#39;m not sure this should be WAN, but changing it to LAN makes no difference)&lt;br /&gt;
&lt;br /&gt;
Local subnet: 172.20.1.0/24&lt;br /&gt;
&lt;br /&gt;
Remote subnet: 172.20.2.0/24&lt;br /&gt;
&lt;br /&gt;
Remote gateway: 2.2.2.2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Phase 1&lt;br /&gt;
&lt;br /&gt;
Negotiation mode: agressive&lt;br /&gt;
&lt;br /&gt;
My identifier: My IP adress&lt;br /&gt;
&lt;br /&gt;
Encryption algorithm: 3DES&lt;br /&gt;
&lt;br /&gt;
Hash algorithm: SHA1&lt;br /&gt;
&lt;br /&gt;
DH key group: 2&lt;br /&gt;
&lt;br /&gt;
Authentication method: Pre-shared key&lt;br /&gt;
&lt;br /&gt;
Pre-Shared Key: secret&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Phase 2&lt;br /&gt;
&lt;br /&gt;
Protocol: ESP&lt;br /&gt;
&lt;br /&gt;
Encryption algorithms: Rijndael (AES) &lt;br /&gt;
&lt;br /&gt;
Hash algorithms: SHA1&lt;br /&gt;
&lt;br /&gt;
PFS key group: 2&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
Centos ipsec config &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------------------&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-ipsec0&lt;br /&gt;
&lt;br /&gt;
TYPE=IPSEC&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ONBOOT=yes&lt;br /&gt;
&lt;br /&gt;
IKE_METHOD=PSK&lt;br /&gt;
&lt;br /&gt;
SRCGW=172.20.2.1&lt;br /&gt;
&lt;br /&gt;
DSTGW=172.20.1.20&lt;br /&gt;
&lt;br /&gt;
SRCNET=172.20.2.0/24&lt;br /&gt;
&lt;br /&gt;
DSTNET=172.20.1.0/24&lt;br /&gt;
&lt;br /&gt;
DST=1.1.1.1&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/keys-ipsec0 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
IKE_PSK=secret&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/racoon/racoon.conf&lt;br /&gt;
&lt;br /&gt;
path include &quot;/etc/racoon&quot;;&lt;br /&gt;
&lt;br /&gt;
path pre_shared_key &quot;/etc/racoon/psk.txt&quot;;&lt;br /&gt;
&lt;br /&gt;
path certificate &quot;/etc/racoon/certs&quot;;&lt;br /&gt;
&lt;br /&gt;
sainfo anonymous&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
pfs_group 2;&lt;br /&gt;
&lt;br /&gt;
lifetime time 1 hour ;&lt;br /&gt;
&lt;br /&gt;
encryption_algorithm rijndael ;&lt;br /&gt;
&lt;br /&gt;
authentication_algorithm hmac_sha1 ;&lt;br /&gt;
&lt;br /&gt;
compression_algorithm deflate ;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
include &quot;/etc/racoon/1.1.1.1.conf&quot;;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/etc/racoon/1.1.1.1.conf&lt;br /&gt;
&lt;br /&gt;
remote 1.1.1.1&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
exchange_mode aggressive, main;&lt;br /&gt;
&lt;br /&gt;
my_identifier address;&lt;br /&gt;
&lt;br /&gt;
proposal {&lt;br /&gt;
&lt;br /&gt;
encryption_algorithm 3des;&lt;br /&gt;
&lt;br /&gt;
hash_algorithm sha1;&lt;br /&gt;
&lt;br /&gt;
authentication_method pre_shared_key;&lt;br /&gt;
&lt;br /&gt;
dh_group 2;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Ipsec log of pfSense &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--------------------&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:38:11 racoon: INFO: @(#)ipsec-tools 0.7.2 (http://ipsec-tools.sourceforge.net)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:38:11 racoon: INFO: @(#)This product linked OpenSSL 0.9.8e 23 Feb 2007 (http://www.openssl.org/)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:38:11 racoon: INFO: Reading configuration from &quot;/var/etc/racoon.conf&quot;&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:38:11 racoon: [Self]: INFO: 127.0.0.1[500] used as isakmp port (fd=14)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:38:11 racoon: [Self]: INFO: 1.1.1.1[500] used as isakmp port (fd=15)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:38:11 racoon: [Self]: INFO: 172.20.1.20[500] used as isakmp port (fd=16)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:38:11 racoon: INFO: unsupported PF_KEY message REGISTER&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:38:11 racoon: ERROR: such policy already exists. anyway replace it: 172.20.1.0/24[0] 172.20.2.0/24[0] proto=any dir=out&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:38:11 racoon: ERROR: such policy already exists. anyway replace it: 172.20.2.0/24[0] 172.20.1.0/24[0] proto=any dir=in&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:38:11 racoon: [Self]: INFO: 127.0.0.1[500] used as isakmp port (fd=14)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:38:11 racoon: [Self]: INFO: 1.1.1.1[500] used as isakmp port (fd=15)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:38:11 racoon: [Self]: INFO: 172.20.1.20[500] used as isakmp port (fd=16)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:11 racoon: [IPsec tunnel]: INFO: respond new phase 1 negotiation: 1.1.1.1[500]&amp;lt;=&amp;gt;2.2.2.2[500]&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:11 racoon: INFO: begin Aggressive mode.&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:11 racoon: INFO: received Vendor ID: DPD&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:11 racoon: NOTIFY: couldn&#39;t find the proper pskey, try to get one by the peer&#39;s address.&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:11 racoon: [IPsec tunnel]: INFO: ISAKMP-SA established 1.1.1.1[500]-2.2.2.2[500] spi:36580e589a8cb1e8:f3cef1de14e3ec5e&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:12 racoon: [IPsec tunnel]: INFO: respond new phase 2 negotiation: 1.1.1.1[0]&amp;lt;=&amp;gt;2.2.2.2[0]&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:12 racoon: ERROR: not matched&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:12 racoon: ERROR: no suitable policy found.&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:12 racoon: ERROR: failed to pre-process packet.&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:22 racoon: [IPsec tunnel]: INFO: respond new phase 2 negotiation: 1.1.1.1[0]&amp;lt;=&amp;gt;2.2.2.2[0]&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:22 racoon: ERROR: not matched&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:22 racoon: ERROR: no suitable policy found.&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:22 racoon: ERROR: failed to pre-process packet.&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:32 racoon: [IPsec tunnel]: INFO: respond new phase 2 negotiation: 1.1.1.1[0]&amp;lt;=&amp;gt;2.2.2.2[0]&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:32 racoon: ERROR: not matched&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:32 racoon: ERROR: no suitable policy found.&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:32 racoon: ERROR: failed to pre-process packet.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
/var/log/messages of Centos&lt;br /&gt;
&lt;br /&gt;
----------------------------&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:34 racoon: INFO: unsupported PF_KEY message REGISTER&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:34 racoon: INFO: 127.0.0.1[500] used as isakmp port (fd=37)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:34 racoon: INFO: 127.0.0.1[500] used for NAT-T&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:34 racoon: INFO: 2.2.2.2[500] used as isakmp port (fd=38)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:34 racoon: INFO: 2.2.2.2[500] used for NAT-T&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:34 racoon: INFO: 172.20.2.1[500] used as isakmp port (fd=39)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:34 racoon: INFO: 172.20.2.1[500] used for NAT-T&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:34 racoon: INFO: ::1[500] used as isakmp port (fd=40)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:34 racoon: INFO: fe80::216:1aff:fed9:1fc5%eth0[500] used as isakmp port (fd=41)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:44 racoon: INFO: unsupported PF_KEY message REGISTER&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:44 last message repeated 4 times&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:44 racoon: ERROR: such policy already exists. anyway replace it: 172.20.2.0/24[0] 172.20.1.0/24[0] proto=any dir=out&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:44 racoon: ERROR: such policy already exists. anyway replace it: 172.20.1.0/24[0] 172.20.2.0/24[0] proto=any dir=in&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:44 racoon: ERROR: such policy already exists. anyway replace it: 172.20.1.0/24[0] 172.20.2.0/24[0] proto=any dir=fwd&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:44 racoon: INFO: 127.0.0.1[500] used as isakmp port (fd=38)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:44 racoon: INFO: 127.0.0.1[500] used for NAT-T&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:44 racoon: INFO: 2.2.2.2[500] used as isakmp port (fd=39)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:44 racoon: INFO: 2.2.2.2[500] used for NAT-T&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:44 racoon: INFO: 172.20.2.1[500] used as isakmp port (fd=40)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:44 racoon: INFO: 172.20.2.1[500] used for NAT-T&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:44 racoon: INFO: ::1[500] used as isakmp port (fd=41)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:40:44 racoon: INFO: fe80::216:1aff:fed9:1fc5%eth0[500] used as isakmp port (fd=42)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:09 racoon: INFO: IPsec-SA request for 1.1.1.1 queued due to no phase1 found.&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:09 racoon: INFO: initiate new phase 1 negotiation: 2.2.2.2[500]&amp;lt;=&amp;gt;1.1.1.1[500]&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:09 racoon: INFO: begin Aggressive mode.&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:09 racoon: INFO: received Vendor ID: DPD&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:09 racoon: NOTIFY: couldn&#39;t find the proper pskey, try to get one by the peer&#39;s address.&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:09 racoon: INFO: ISAKMP-SA established 2.2.2.2[500]-1.1.1.1[500] spi:36580e589a8cb1e8:f3cef1de14e3ec5e&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:10 racoon: INFO: initiate new phase 2 negotiation: 2.2.2.2[500]&amp;lt;=&amp;gt;1.1.1.1[500]&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:10 racoon: ERROR: unknown notify message, no phase2 handle found.&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:30 last message repeated 2 times&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:40 racoon: INFO: IPsec-SA expired: AH/Tunnel 1.1.1.1[0]-&amp;gt;2.2.2.2[0] spi=206806147(0xc539c83)&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:40 racoon: WARNING: the expire message is received but the handler has not been established.&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:40 racoon: ERROR: 1.1.1.1 give up to get IPsec-SA due to time up to wait.&lt;br /&gt;
&lt;br /&gt;
Nov 28 19:41:40 racoon: INFO: IPsec-SA expired: ESP/Tunnel 1.1.1.1[0]-&amp;gt;2.2.2.2[0] spi=72570967(0x4535857)&lt;br /&gt;
&lt;br /&gt;
changed the config of the Centos computer&lt;br /&gt;
&lt;br /&gt;
/etc/sysconfig/network-scripts/ifcfg-ipsec0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
TYPE=IPSEC&lt;br /&gt;
&lt;br /&gt;
ONBOOT=yes&lt;br /&gt;
&lt;br /&gt;
IKE_METHOD=PSK&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #e06666;&quot;&gt;AH_PROTO=none&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
SRCGW=172.20.2.1&lt;br /&gt;
&lt;br /&gt;
DSTGW=172.20.1.20&lt;br /&gt;
&lt;br /&gt;
SRCNET=172.20.2.0/24&lt;br /&gt;
&lt;br /&gt;
DSTNET=172.20.1.0/24&lt;br /&gt;
&lt;br /&gt;
DST=1.1.1.1</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/964381263457597473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2011/01/ipsec-tunnel-pfsense-and-centos.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/964381263457597473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/964381263457597473'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2011/01/ipsec-tunnel-pfsense-and-centos.html' title='ipsec tunnel pfSense and Centos'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-7775221764262720921</id><published>2010-10-20T15:09:00.000+04:00</published><updated>2010-10-20T15:09:11.395+04:00</updated><title type='text'>Top 10 Open Source Firewall</title><content type='html'>With perilous threats from crackers and script kiddes lurking in the network, IT administrators could do no better than placing a firewall protection. Firewall prevents unwanted access to departmental systems while preventing local systems from attacking systems on the other network. It ensures that the traffic entering and leaving the secured LAN is accessing the correct applications on the correct computers. We had already done with the top free Windows firewall. However, there is cool open source firewall to take advantage of. Open source firewall not only offers better customization options, but also reduces the cost of ownership.  After a comprehensive search we assorted the top 10 open source firewall.&lt;br /&gt;
&lt;br /&gt;
1. Endian Firewall&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is an open source firewall based on the IPCop Linux Firewall. It is one of the most widely used open source firewall with comprehensive features. It is almost an opensource Universal threat Management (UTM) device with a Statefull firewall, VPN, Webproxy, SIP proxy for VoIP, Web Security, Content Filtering, Mail gateway and Antivirus, Anti-spyware and Anti-phishing capabilities.&lt;br /&gt;
&lt;br /&gt;
Some of the crucial features of Endian Firewall include&lt;br /&gt;
&lt;br /&gt;
 Easy to configure and administer web interface&lt;br /&gt;
 Routing and NAT support&lt;br /&gt;
 Port forwarding&lt;br /&gt;
 NTP client and NTP Server support&lt;br /&gt;
 Reporting with system, network and traffic logging&lt;br /&gt;
 Remote Sysol server support&lt;br /&gt;
 IPSec VPN for site to site VPN and remote users support with Endian VPN client (Windows, MacOSX, Linux)using OpenVPN&lt;br /&gt;
 Mail security for SMTP and POP3 with Antivirus,Anti-Phishing, Anti-spyware&lt;br /&gt;
 Webproxy supporting HTTP,FTP and DNS bypass&lt;br /&gt;
 SPAM protection using pyzor Spam filter&lt;br /&gt;
 DNS bypass and Dynamic DNS support&lt;br /&gt;
 SIP proxy for VoIP&lt;br /&gt;
 Antivirus support provided by ClamAV&lt;br /&gt;
 Traffic Shapping on the Internet facing interface for QoS&lt;br /&gt;
 Traffic Monitoring using nTop&lt;br /&gt;
 DNS and DHCP server using dnsmasq&lt;br /&gt;
 Zone based Firewalling&lt;br /&gt;
 User Management with Windows Domain, LDAP, RADIUS and Samba support</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/7775221764262720921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/10/top-10-open-source-firewall.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/7775221764262720921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/7775221764262720921'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/10/top-10-open-source-firewall.html' title='Top 10 Open Source Firewall'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-4545334106495750168</id><published>2010-10-20T15:08:00.000+04:00</published><updated>2010-10-20T15:08:40.378+04:00</updated><title type='text'>Endian Firewall</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguCOaVYmdqpuSNyReTC13WLHMn54eIliadGr8N72biYjNDhl2zBy1gOamRuJfEPyQ33Ho2SJm7pY8su6zXxiVM4HAlXCsP7nZsJ-PGiKcSrZWCBPFySSwtlCPbRRy6VwHZX_mWWX_4S0G_/s1600-h/Firewall.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;307&quot; kt=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguCOaVYmdqpuSNyReTC13WLHMn54eIliadGr8N72biYjNDhl2zBy1gOamRuJfEPyQ33Ho2SJm7pY8su6zXxiVM4HAlXCsP7nZsJ-PGiKcSrZWCBPFySSwtlCPbRRy6VwHZX_mWWX_4S0G_/s320/Firewall.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;With perilous threats from crackers and script kiddes lurking in the network, IT administrators could do no better than placing a firewall protection. Firewall prevents unwanted access to departmental systems while preventing local systems from attacking systems on the other network. It ensures that the traffic entering and leaving the secured LAN is accessing the correct applications on the correct computers. We had already done with the top free Windows firewall. However, there is cool open source firewall to take advantage of. Open source firewall not only offers better customization options, but also reduces the cost of ownership. After a comprehensive search we assorted the top 10 open source firewall.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. Endian Firewall&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;border: medium none; clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6i1PuiczOJU0n4SCpgL5GA6dE0p8L6rQk4cGhA1C6k-XbTiMzyU1edA02BorWsi1FEC1SYyAxYbTtunCHvRZsdmQmpaBK6vzgiSnrfSVQDr2sJO3hoa4bzzans7lkeu_g1rL73WSpJsFN/s1600-h/endian_firewall.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;235&quot; kt=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6i1PuiczOJU0n4SCpgL5GA6dE0p8L6rQk4cGhA1C6k-XbTiMzyU1edA02BorWsi1FEC1SYyAxYbTtunCHvRZsdmQmpaBK6vzgiSnrfSVQDr2sJO3hoa4bzzans7lkeu_g1rL73WSpJsFN/s400/endian_firewall.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;border: medium none; clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;border: medium none; clear: both; text-align: left;&quot;&gt;This is an open source firewall based on the IPCop Linux Firewall. It is one of the most widely used open source firewall with comprehensive features. It is almost an opensource Universal threat Management (UTM) device with a Statefull firewall, VPN, Webproxy, SIP proxy for VoIP, Web Security, Content Filtering, Mail gateway and Antivirus, Anti-spyware and Anti-phishing capabilities.&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;border: medium none; clear: both; text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;border: medium none; clear: both; text-align: left;&quot;&gt;Some of the crucial features of Endian Firewall include&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 Easy to configure and administer web interface&lt;br /&gt;
&lt;br /&gt;
 Routing and NAT support&lt;br /&gt;
&lt;br /&gt;
 Port forwarding&lt;br /&gt;
&lt;br /&gt;
 NTP client and NTP Server support&lt;br /&gt;
&lt;br /&gt;
 Reporting with system, network and traffic logging&lt;br /&gt;
&lt;br /&gt;
 Remote Sysol server support&lt;br /&gt;
&lt;br /&gt;
 IPSec VPN for site to site VPN and remote users support with Endian VPN client (Windows, MacOSX, Linux)using OpenVPN&lt;br /&gt;
&lt;br /&gt;
 Mail security for SMTP and POP3 with Antivirus,Anti-Phishing, Anti-spyware&lt;br /&gt;
&lt;br /&gt;
 Webproxy supporting HTTP,FTP and DNS bypass&lt;br /&gt;
&lt;br /&gt;
 SPAM protection using pyzor Spam filter&lt;br /&gt;
&lt;br /&gt;
 DNS bypass and Dynamic DNS support&lt;br /&gt;
&lt;br /&gt;
 SIP proxy for VoIP&lt;br /&gt;
&lt;br /&gt;
 Antivirus support provided by ClamAV&lt;br /&gt;
&lt;br /&gt;
 Traffic Shapping on the Internet facing interface for QoS&lt;br /&gt;
&lt;br /&gt;
 Traffic Monitoring using nTop&lt;br /&gt;
&lt;br /&gt;
 DNS and DHCP server using dnsmasq&lt;br /&gt;
&lt;br /&gt;
 Zone based Firewalling&lt;br /&gt;
&lt;br /&gt;
 User Management with Windows Domain, LDAP, RADIUS and Samba support</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/4545334106495750168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/10/endian-firewall.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/4545334106495750168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/4545334106495750168'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/10/endian-firewall.html' title='Endian Firewall'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguCOaVYmdqpuSNyReTC13WLHMn54eIliadGr8N72biYjNDhl2zBy1gOamRuJfEPyQ33Ho2SJm7pY8su6zXxiVM4HAlXCsP7nZsJ-PGiKcSrZWCBPFySSwtlCPbRRy6VwHZX_mWWX_4S0G_/s72-c/Firewall.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-8157391956710215852</id><published>2010-10-20T15:07:00.000+04:00</published><updated>2010-10-20T15:07:31.282+04:00</updated><title type='text'>Best open source firewall 2011</title><content type='html'>&lt;span style=&quot;color: red; font-size: large;&quot;&gt;&lt;u&gt;&lt;b&gt;Top 5 Open Source Firewall&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif;&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-size: large;&quot;&gt;1) IPTable&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
User, which allows a system administrator to configure the tables provided by the firewall of the Linux kernel (as units executed Netfilter different) rules and chains and stores. And is currently using the kernel modules and different programs for different protocols; iptables applies to IPv4, ip6tables to IPv6, arp tables for the rehabilitation of agriculture, as a special ebtables Ethernet frames&lt;br /&gt;
&lt;br /&gt;
IPtables require elevated privileges to work must be carried out by the root user, but it failed to function. In most Linux systems, iptables is installed as /usr/directory/iptables and documented in the man page to him [2], which can be opened using `man iptables` when installed. Can also be found in the /sbin/iptables, but since iptables is not &quot;dual core&quot;, but more like a service, is still the preferred place / usr / Guide&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWBsTD2NRcfBOV2IBfO6roEY5FuWAa5olYwEmv186WA5Q0tqifRwdJM8ha5TWYkR2ieofIKd_za6OSS9BWHprPV7NlJbf3NlLtM5_AFJXSyu2nKUT94GujwGrhczLptD9XMq3J-aaIe-4q/s1600/Linux-hat.bmp&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;191&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWBsTD2NRcfBOV2IBfO6roEY5FuWAa5olYwEmv186WA5Q0tqifRwdJM8ha5TWYkR2ieofIKd_za6OSS9BWHprPV7NlJbf3NlLtM5_AFJXSyu2nKUT94GujwGrhczLptD9XMq3J-aaIe-4q/s320/Linux-hat.bmp&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;h2 id=&quot;WhatisIPCop&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif; font-size: large; font-weight: normal;&quot;&gt;2) IPCop&lt;/span&gt;&lt;/b&gt; &lt;/h2&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-X3-Mr1aa-qXjnHLPMRThsgeCSq-MfimLD0OHw-nJTbQ6WmfdEth1JTru8-7pz95q52eihw7n8a9Azr3XU21SPrNdZpWGbwV9NsEi8Nr3Ltc32sEqLLbHQv0eXjVT6_54Fnggh4RZEwst/s1600/ipcop-logo.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-X3-Mr1aa-qXjnHLPMRThsgeCSq-MfimLD0OHw-nJTbQ6WmfdEth1JTru8-7pz95q52eihw7n8a9Azr3XU21SPrNdZpWGbwV9NsEi8Nr3Ltc32sEqLLbHQv0eXjVT6_54Fnggh4RZEwst/s1600/ipcop-logo.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;The IPCop Firewall is a Linux firewall distribution. It is geared towards home and &lt;a class=&quot;ext-link&quot; href=&quot;http://en.wikipedia.org/wiki/Small_Office/Home_Office&quot;&gt;&lt;span class=&quot;icon&quot;&gt;SOHO&lt;/span&gt;&lt;/a&gt; users. The IPCop web-interface is very user-friendly and makes usage easy. &lt;br /&gt;
The (old) information from &lt;a class=&quot;ext-link&quot; href=&quot;http://www.ipcop.org/&quot;&gt;&lt;span class=&quot;icon&quot;&gt;http://www.ipcop.org&lt;/span&gt;&lt;/a&gt; can be found here: &lt;a class=&quot;ext-link&quot; href=&quot;http://www.ipcop.org/index-pn.php&quot;&gt;&lt;span class=&quot;icon&quot;&gt;http://www.ipcop.org/index-pn.php&lt;/span&gt;&lt;/a&gt; Be aware that most of the information is old and obsolete. &lt;br /&gt;
One day there may be a flashy, web-2.0 style homepage, but until then the page you are now reading is the home of IPCop. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;h2 id=&quot;WhatisIPCop&quot;&gt;&lt;b&gt;&lt;span style=&quot;font-family: Georgia,&amp;quot;Times New Roman&amp;quot;,serif; font-size: large; font-weight: normal;&quot;&gt;3) ShoreWall&lt;/span&gt;&lt;/b&gt; &lt;/h2&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx8pez2rdOmek7oLj8ZUbtBddArz_8GJOtEjmJOtz2PMSiQQqr-OrtvzkYg8snaWzi_PoWHjV6dZq-c1Kl8g44yh3Am8YfiJy2FtZ-9vOa_Nk2AVQB3MBQbVWXeLkKHRpjZG_8MCXk5v2x/s1600/gareth-davies-logo3_88x31.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: right; float: right; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx8pez2rdOmek7oLj8ZUbtBddArz_8GJOtEjmJOtz2PMSiQQqr-OrtvzkYg8snaWzi_PoWHjV6dZq-c1Kl8g44yh3Am8YfiJy2FtZ-9vOa_Nk2AVQB3MBQbVWXeLkKHRpjZG_8MCXk5v2x/s1600/gareth-davies-logo3_88x31.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;Shorewall is a gateway/firewall configuration tool for GNU/Linux.&lt;br /&gt;
&lt;br /&gt;
For a high level description of Shorewall, see the &lt;a href=&quot;http://www.shorewall.net/Introduction.html&quot;&gt;Introduction to Shorewall&lt;/a&gt;.&lt;br /&gt;
&lt;ul class=&quot;itemizedlist&quot; type=&quot;disc&quot;&gt;&lt;li class=&quot;listitem&quot;&gt;Uses Netfilter&#39;s connection tracking facilities for stateful         packet filtering.&lt;/li&gt;
&lt;li class=&quot;listitem&quot;&gt;Can be used in&lt;span class=&quot;bold&quot;&gt;&lt;b&gt; a wide range of         router/firewall/gateway applications.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
Supports &lt;span class=&quot;bold&quot;&gt;&lt;b&gt;centralized firewall         administration&lt;/b&gt;&lt;/span&gt;.&lt;span class=&quot;bold&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a class=&quot;ulink&quot; href=&quot;http://www.shorewall.net/shorewall_quickstart_guide.htm&quot; target=&quot;_self&quot;&gt;QuickStart Guides         (HOWTOs)&lt;/a&gt;&amp;nbsp;&lt;span class=&quot;bold&quot;&gt;&lt;/span&gt;&lt;br /&gt;
Extensive &lt;span class=&quot;bold&quot;&gt;&lt;b&gt;&lt;a class=&quot;ulink&quot; href=&quot;http://www.shorewall.net/Documentation_Index.html&quot; target=&quot;_self&quot;&gt;documentation&lt;/a&gt;&lt;/b&gt;&lt;/span&gt; is         available in both Docbook XML and HTML formats. &lt;br /&gt;
&lt;span class=&quot;bold&quot;&gt;&lt;b&gt;Flexible address management/routing         support&lt;/b&gt;&lt;/span&gt; (and you can use all types in the same         firewall):&lt;br /&gt;
&lt;a class=&quot;ulink&quot; href=&quot;http://www.shorewall.net/blacklisting_support.htm&quot; target=&quot;_self&quot;&gt;&lt;span class=&quot;bold&quot;&gt;&lt;b&gt;Blacklisting&lt;/b&gt;&lt;/span&gt;&lt;/a&gt; of individual IP addresses         and subnetworks is supported.&lt;br /&gt;
&lt;a class=&quot;ulink&quot; href=&quot;http://www.shorewall.net/starting_and_stopping_shorewall.htm&quot; target=&quot;_self&quot;&gt;&lt;span class=&quot;bold&quot;&gt;&lt;b&gt;VPN Support&lt;/b&gt;&lt;/span&gt;.&lt;/a&gt;&lt;br /&gt;
Support for &lt;a class=&quot;ulink&quot; href=&quot;http://www.shorewall.net/traffic_shaping.htm&quot; target=&quot;_self&quot;&gt;&lt;span class=&quot;bold&quot;&gt;&lt;b&gt;Traffic&lt;/b&gt;&lt;/span&gt; Control/&lt;span class=&quot;bold&quot;&gt;&lt;b&gt;Shaping&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;
&lt;a class=&quot;ulink&quot; href=&quot;http://www.shorewall.net/MAC_Validation.html&quot; target=&quot;_self&quot;&gt;Media Access Control (&lt;span class=&quot;bold&quot;&gt;&lt;b&gt;MAC&lt;/b&gt;&lt;/span&gt;) Address &lt;span class=&quot;bold&quot;&gt;&lt;b&gt;Verification&lt;/b&gt;&lt;/span&gt;&lt;/a&gt;.&lt;br /&gt;
&lt;span class=&quot;bold&quot;&gt;&lt;b&gt;&lt;a class=&quot;ulink&quot; href=&quot;http://www.shorewall.net/Accounting.html&quot; target=&quot;_self&quot;&gt;Traffic         Accounting&lt;/a&gt;.&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a class=&quot;ulink&quot; href=&quot;http://www.shorewall.net/bridge-Shorewall-perl.html&quot; target=&quot;_self&quot;&gt;&lt;span class=&quot;bold&quot;&gt;&lt;b&gt;Bridge&lt;/b&gt;&lt;/span&gt;/Firewall support&lt;/a&gt;&lt;span class=&quot;bold&quot;&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a class=&quot;ulink&quot; href=&quot;http://www.shorewall.net/IPv6Support.html&quot; target=&quot;_self&quot;&gt;&lt;span class=&quot;bold&quot;&gt;&lt;b&gt;IPv6&lt;/b&gt;&lt;/span&gt; Support&lt;/a&gt;&lt;span class=&quot;bold&quot;&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
Works with a wide range of &lt;span class=&quot;bold&quot;&gt;&lt;b&gt;Virtualization&lt;/b&gt;&lt;/span&gt; Solutions&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;h3&gt;Additional Firewall Software&lt;/h3&gt;Following are additional firewalls mentioned by readers along with the total number of votes it received.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;CheckPoint FireWall-1 5&lt;/li&gt;
&lt;li&gt;pfsense 5&lt;/li&gt;
&lt;li&gt;Firestarter 5&lt;/li&gt;
&lt;li&gt;Netfilter 4&lt;/li&gt;
&lt;li&gt;SmoothWall Express 3&lt;/li&gt;
&lt;li&gt;Guarddog 3&lt;/li&gt;
&lt;li&gt;ipchain 3&lt;/li&gt;
&lt;li&gt;Endian 2&lt;/li&gt;
&lt;li&gt;Susefirewall 1&lt;/li&gt;
&lt;li&gt;Cisco ASA/PIX 1&lt;/li&gt;
&lt;li&gt;ClearOS 1&lt;/li&gt;
&lt;li&gt;APF 1&lt;/li&gt;
&lt;li&gt;Firewall Builder 1&lt;/li&gt;
&lt;li&gt;Auto firewall in Puppy Linux 1&lt;/li&gt;
&lt;li&gt;Drawbridge 1&lt;/li&gt;
&lt;li&gt;Monowall 1&lt;/li&gt;
&lt;li&gt;Firehol 1&lt;/li&gt;
&lt;li&gt;SuSEfirewall2 1&lt;/li&gt;
&lt;li&gt;Plesk 1&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;ul class=&quot;itemizedlist&quot; type=&quot;disc&quot;&gt;&lt;/ul&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/8157391956710215852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/10/best-open-source-firewall-2011.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/8157391956710215852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/8157391956710215852'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/10/best-open-source-firewall-2011.html' title='Best open source firewall 2011'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWBsTD2NRcfBOV2IBfO6roEY5FuWAa5olYwEmv186WA5Q0tqifRwdJM8ha5TWYkR2ieofIKd_za6OSS9BWHprPV7NlJbf3NlLtM5_AFJXSyu2nKUT94GujwGrhczLptD9XMq3J-aaIe-4q/s72-c/Linux-hat.bmp" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-1806246937592870204</id><published>2010-09-21T17:47:00.000+04:00</published><updated>2010-09-21T17:47:50.762+04:00</updated><title type='text'>Configuring the virtual path devices</title><content type='html'>We recommend that you start with a &quot;fresh&quot; disk configuration, so it is a good idea to delete all previously configured FC adapters and their child (disk) devices. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On node1, we checked which disks are still defined: &lt;br /&gt;
&lt;br /&gt;
{node1:root}/-&amp;gt; lspvhdisk0 0022be2ab1cd11ac rootvg activehdisk1 0022be2a3d02ead0 Nonehdisk2 0022be2a4cbbafd8 Nonehdisk3 none NoneThese are the internal SCSI disk drives &lt;br /&gt;
&lt;br /&gt;
{node1:root}/-&amp;gt; lscfg &lt;br /&gt;
grep disk+ hdisk3 U1.9-P2/Z2-A8 16 Bit LVD SCSI Disk Drive (36400 MB)+ hdisk2 U1.9-P2/Z1-A8 16 Bit LVD SCSI Disk Drive (36400 MB)+ hdisk1 U1.9-P1/Z2-A8 16 Bit LVD SCSI Disk Drive (36400 MB)+ hdisk0 U1.9-P1/Z1-A8 16 Bit LVD SCSI Disk Drive (36400 MB)In order to include the ESS disks, run the configuration manager on each node: &lt;br /&gt;
&lt;br /&gt;
{node1:root}/-&amp;gt; cfgmgr -vSince ESS was configured with two host paths for each node (node1a and node1b), this results in two hdisks on the nodes. Actually, those two logical hdisks represent the same physical disk, accessed via the two ESS configured paths. &lt;br /&gt;
&lt;br /&gt;
When the SDD driver package is installed, a third disk entry, named vpath* (virtual path) is automatically created. To benefit from the SDD capabilities, when configuring volume groups, use this virtual path disk entry instead of the regular hdisk. This provides for load balancing and high availability. &lt;br /&gt;
&lt;br /&gt;
In normal mode, storage traffic is balanced over the two FC adapters installed. In case one of the two FC adapters fails for any reason, data access continues over the surviving adapter. &lt;br /&gt;
&lt;br /&gt;
Check the new disk configuration discovered by cfgmgr: &lt;br /&gt;
&lt;br /&gt;
Example 3-13 Listing the virtual path devices &lt;br /&gt;
&lt;br /&gt;
{node1:root}/-&amp;gt; lsdev -Cs dpovpath0 Available Data Path Optimizer Pseudo Device Driver &amp;lt;-+-vpath1 Available Data Path Optimizer Pseudo Device Driver &lt;br /&gt;
vpath2 Available Data Path Optimizer Pseudo Device Driver &lt;br /&gt;
Each vpath vpath3 Available Data Path Optimizer Pseudo Device Driver &lt;br /&gt;
represents onevpath4 Available Data Path Optimizer Pseudo Device Driver &lt;br /&gt;
physical LUN.vpath5 Available Data Path Optimizer Pseudo Device Driver &lt;br /&gt;
vpath6 Available Data Path Optimizer Pseudo Device Driver &amp;lt;-+- &lt;br /&gt;
&lt;br /&gt;
Example 3-14 Listing the FC attached disks (LUNs) &lt;br /&gt;
&lt;br /&gt;
{node1:root}/-&amp;gt; lsdev -Cs fcphdisk4 Available 2V-08-01 IBM FC 2105800 &amp;lt;--+-hdisk5 Available 2V-08-01 IBM FC 2105800 &lt;br /&gt;
hdisk6 Available 2V-08-01 IBM FC 2105800 &lt;br /&gt;
hdisk7 Available 2V-08-01 IBM FC 2105800 &lt;br /&gt;
hdisk8 Available 2V-08-01 IBM FC 2105800 &lt;br /&gt;
hdisk9 Available 2V-08-01 IBM FC 2105800 &lt;br /&gt;
These are the FC disks; there are onlyhdisk10 Available 2V-08-01 IBM FC 2105800 &lt;br /&gt;
seven physical LUNs, but they are hdisk11 Available 2v-08-01 IBM FC 2105800 &lt;br /&gt;
doubled because each node is connectedhdisk12 Available 2v-08-01 IBM FC 2105800 &lt;br /&gt;
to the storage using two FC adapters.hdisk13 Available 2v-08-01 IBM FC 2105800 &lt;br /&gt;
hdisk14 Available 2v-08-01 IBM FC 2105800 &lt;br /&gt;
hdisk15 Available 2v-08-01 IBM FC 2105800 &lt;br /&gt;
hdisk16 Available 2v-08-01 IBM FC 2105800 &lt;br /&gt;
hdisk17 Available 2v-08-01 IBM FC 2105800 &amp;lt;--+- &lt;br /&gt;
&lt;br /&gt;
Important: depending on the number of hdisks defined on a node prior to the ESS disk setup, the numbering of the new hdisks and vpaths may vary from one node to another. The only information you should rely on is the PVID (Physical Volume IDentifier) of the disk. This identifier is written on the disk, and retrieved by each node. It is the second column of the lspv command output. &lt;br /&gt;
&lt;br /&gt;
To check the physical volumes, execute the following command: &lt;br /&gt;
&lt;br /&gt;
Example 3-15 List of vpath devices created by SDD (extract) &lt;br /&gt;
&lt;br /&gt;
{node1:root}/-&amp;gt; lspvhdisk0 0022be2ab1cd11ac rootvg activehdisk1 0022be2a3d02ead0 None...hdisk9 0022be2a31fa6b48 None...hdisk16 0022be2a31fa6b48 Nonehdisk17 none Nonevpath0 none Nonevpath1 none Nonevpath2 none Nonevpath3 none Nonevpath4 none Nonevpath5 none Nonevpath6 none None &lt;br /&gt;
&lt;br /&gt;
To make these disks available to all the cluster nodes, type: &lt;br /&gt;
&lt;br /&gt;
{node1:root}/-&amp;gt; chdev -l vpath5 -a pv=yes{node1:root}/-&amp;gt; lspv &lt;br /&gt;
grep vpath5vpath5 0022be2a31fa6b48 NoneDisk Name PVID Volume Group&lt;br /&gt;
&lt;br /&gt;
Note: To benefit from high availability and load balancing of SDD, only the vpath must be used for further LVM configurations (only vpaths should be used for volume groups). &lt;br /&gt;
&lt;br /&gt;
.The SDD driver provides a set of commands to manage the virtual path devices: &lt;br /&gt;
&lt;br /&gt;
Example 3-16 Datapath command arguments &lt;br /&gt;
&lt;br /&gt;
datapath query adapter [n] datapath query device [n] datapath set adapter &lt;n&gt;online/offline datapath set device &lt;n&gt;path &lt;m&gt;online/offline datapath set device &lt;n&gt;/(&lt;n1&gt; &lt;n2&gt;) policy rr/fo/lb/df datapath query adaptstats [n] datapath query devstats [n] datapath open device &lt;n&gt;path &lt;n&gt;&lt;br /&gt;
&lt;br /&gt;
To see the correspondence between the hdisks and vpaths, use the following command: &lt;br /&gt;
&lt;br /&gt;
Example 3-17 Datapath query device command &lt;br /&gt;
&lt;br /&gt;
{node1:root}/-&amp;gt; datapath query device&lt;br /&gt;
&lt;br /&gt;
Total Devices : 7&lt;br /&gt;
&lt;br /&gt;
DEV#: 0 DEVICE NAME: vpath0 TYPE: 2105800 SERIAL: 30022513&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
POLICY: Optimized&lt;br /&gt;
&lt;br /&gt;
==========================================================================&lt;br /&gt;
&lt;br /&gt;
Path#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Adapter/Hard Disk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; State&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Errors&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fscsi0/hdisk4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; OPEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;253908&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; 0&lt;br /&gt;
&lt;br /&gt;
1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fscsi1/hdisk11&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OPEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 255351&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; 0&lt;br /&gt;
&lt;br /&gt;
DEV#: 1 DEVICE NAME: vpath1 TYPE: 2105800 SERIAL: 30122513&lt;br /&gt;
&lt;br /&gt;
POLICY: Optimized&lt;br /&gt;
&lt;br /&gt;
==========================================================================&lt;br /&gt;
&lt;br /&gt;
Path#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Adapter/Hard&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; State&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Errors&lt;br /&gt;
&lt;br /&gt;
0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fscsi0/hdisk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OPEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp; 1749&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;
&lt;br /&gt;
1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fscsi1/hdisk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 12&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;OPEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NORMAL&amp;nbsp;&amp;nbsp; 1661&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;
&lt;br /&gt;
DEV#: 2 DEVICE NAME: vpath2 TYPE: 2105800 SERIAL: 30222513&lt;br /&gt;
&lt;br /&gt;
POLICY: Optimized&lt;br /&gt;
&lt;br /&gt;
==========================================================================&lt;br /&gt;
&lt;br /&gt;
Path#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Adapter/Hard&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; State&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Mode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Errors&lt;br /&gt;
&lt;br /&gt;
0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fscsi0/hdisk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 6&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OPEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1755&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;
&lt;br /&gt;
1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fscsi1/hdisk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;13&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OPEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1773&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;
&lt;br /&gt;
DEV#: 3 DEVICE NAME: vpath3 TYPE: 2105800 SERIAL: 30322513&lt;br /&gt;
&lt;br /&gt;
POLICY: Optimized&lt;br /&gt;
&lt;br /&gt;
==========================================================================&lt;br /&gt;
&lt;br /&gt;
Path#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Adapter/Hard&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; State&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Errors&lt;br /&gt;
&lt;br /&gt;
0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fscsi0/hdisk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OPEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp; 263&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;
&lt;br /&gt;
1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fscsi1/hdisk1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OPEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 278&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;
&lt;br /&gt;
DEV#: 4 DEVICE NAME: vpath4 TYPE: 2105800 SERIAL: 30422513&lt;br /&gt;
&lt;br /&gt;
POLICY: Optimized&lt;br /&gt;
&lt;br /&gt;
==========================================================================&lt;br /&gt;
&lt;br /&gt;
Path#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Adapter/Hard&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; State&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Errors&lt;br /&gt;
&lt;br /&gt;
0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fscsi0/hdisk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;OPEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1696&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;
&lt;br /&gt;
1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fscsi1/hdisk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 15&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OPEN&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1670&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;0&lt;br /&gt;
&lt;br /&gt;
DEV#: 5 DEVICE NAME: vpath5 TYPE: 2105800 SERIAL: 30522513&lt;br /&gt;
&lt;br /&gt;
POLICY: Optimized&lt;br /&gt;
&lt;br /&gt;
==========================================================================&lt;br /&gt;
&lt;br /&gt;
Path#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Adapter/Hard&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; State&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Errors&lt;br /&gt;
&lt;br /&gt;
0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fscsi0/hdisk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 9&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOSE&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1485&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;
&lt;br /&gt;
1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fscsi1/hdisk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 16&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOSE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1455&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;
&lt;br /&gt;
DEV#: 6 DEVICE NAME: vpath6 TYPE: 2105800 SERIAL: 30622513&lt;br /&gt;
&lt;br /&gt;
POLICY: Optimized&lt;br /&gt;
&lt;br /&gt;
==========================================================================&lt;br /&gt;
&lt;br /&gt;
Path#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Adapter/Hard&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Disk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; State&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Select&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Errors&lt;br /&gt;
&lt;br /&gt;
0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fscsi0/hdisk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOSE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&lt;br /&gt;
&lt;br /&gt;
1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fscsi1/hdisk&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 17&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CLOSE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NORMAL&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/1806246937592870204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/09/configuring-virtual-path-devices.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/1806246937592870204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/1806246937592870204'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/09/configuring-virtual-path-devices.html' title='Configuring the virtual path devices'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-405355547664470754</id><published>2010-09-21T17:08:00.002+04:00</published><updated>2010-09-21T17:08:31.107+04:00</updated><title type='text'>ESS Subsystem Device Driver setup</title><content type='html'>In a high availability environment, there is a special device driver, designed for ESS, named Subsystem Device Driver (SDD). This device driver allows for redundant links and load sharing for storage traffic when multiple fiber connections exist between nodes and the ESS storage subsystem. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SDD comes as an AIX installable fileset, named ibm2105.rte. This has to be installed on all cluster nodes, even if not all nodes in the cluster have more than one FC adapter. &lt;br /&gt;
&lt;br /&gt;
In our configuration, since each node is connected to the ESS using two optical cables, each disk can be accessed via any of the two paths. When SDD is installed, a virtual path is created. This virtual path represents the same storage space, but is accessible via both fiber links. &lt;br /&gt;
&lt;br /&gt;
There are two versions of the SDD driver for AIX: &lt;br /&gt;
&lt;br /&gt;
ibmSdd_510.rte - This is suitable for non-HACMP configurations or for concurrent HACMP (HACMP/ESCRM). &lt;br /&gt;
&lt;br /&gt;
ibmSdd_510nchamp.rte - This has to be used in nonconcurrent HACMP environments. &lt;br /&gt;
&lt;br /&gt;
In our environment, we are using HACMP, but not with concurrent disk access (locking is provided by GPFS and Oracle), thus we installed ibmSdd_510nchamp.rte. &lt;br /&gt;
&lt;br /&gt;
See Appendix A, Operating system fileset levels for more details on the fileset names and releases. &lt;br /&gt;
&lt;br /&gt;
The latest SAN software can be downloaded from: &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://ssddom02.storage.ibm.com/techsup/webnav.nsf/support/2105&quot;&gt;http://ssddom02.storage.ibm.com/techsup/webnav.nsf/support/2105&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/405355547664470754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/09/ess-subsystem-device-driver-setup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/405355547664470754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/405355547664470754'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/09/ess-subsystem-device-driver-setup.html' title='ESS Subsystem Device Driver setup'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-3685794489938812529</id><published>2010-09-21T17:07:00.000+04:00</published><updated>2010-09-21T17:07:29.952+04:00</updated><title type='text'>Dynamic tracking of Fibre Channel adapters</title><content type='html'>AIX 5.2 provides support for Dynamic Tracking of Fibre Channel devices. In previous AIX releases, the user was required to unconfigure the FC storage device and adapter device instances before making changes on the SAN that might result in an N_Port ID (SCSI ID) change of any remote storage ports. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If Dynamic Tracking for FC devices is enabled, the FC adapter driver will detect when the Fibre Channel N_Port ID of a device changes, and will reroute traffic designated for that device to the new address, while the devices are still online. Examples of events that can cause an N_Port ID to change are moving a cable between a switch and storage device from one switch port to another, connecting two separate switches via an Inter-Switch Link (ISL), and possibly rebooting a switch. &lt;br /&gt;
&lt;br /&gt;
Dynamic tracking of FC devices is controlled by a new fscsi device attribute, named dyntrk. The default setting for this attribute is no. Setting this attribute to yes enables dynamic tracking: &lt;br /&gt;
&lt;br /&gt;
{node1:root}/-&amp;gt; chdev -l fscsi0 -a dyntrk=yes&lt;br /&gt;
&lt;br /&gt;
Dynamic tracking logic is invoked when the adapter driver receives an indication from the switch that there has been a link event involving a remote storage device port.</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/3685794489938812529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/09/dynamic-tracking-of-fibre-channel.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/3685794489938812529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/3685794489938812529'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/09/dynamic-tracking-of-fibre-channel.html' title='Dynamic tracking of Fibre Channel adapters'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-2354529981807055904</id><published>2010-09-21T17:05:00.000+04:00</published><updated>2010-09-21T17:05:07.679+04:00</updated><title type='text'>Enable Fast I/O Failure for FC adapt</title><content type='html'>AIX 5.2 supports the Fast I/O Failure feature for Fibre Channel devices in case of link events in a switched environment. If the FC adapter driver detects a link event (for example, a lost link between a storage device and a switch), the FC adapter driver waits a short period of time, about 15 seconds, to allow the SAN fabric to stabilize. At this point, if the FC adapter driver detects that the device is not on the SAN fabric, it begins failing all I/O requests at the adapter driver level. Any new I/O request, or future retries of the previously failed I/Os, are failed immediately by the adapter, until the adapter driver detects that the device has rejoined the SAN fabric. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fast I/O Failure is controlled by a new fscsi device attribute, fc_err_recov. The default setting for this attribute is delayed_fail, which is the I/O failure behavior that has existed in previous versions of AIX. Setting this attribute to fast_fail enables Fast I/O Failure, as shown in Example 3-12. &lt;br /&gt;
&lt;br /&gt;
Example 3-12 FC adapter fast_fail option &lt;br /&gt;
&lt;br /&gt;
{node1:root}/_&amp;gt; chdev -l fscsi0 -a fc_err_recov=fast_fail &lt;br /&gt;
&lt;br /&gt;
The fscsi0 device is used for storage data transfer and is a child device of fcs0 (the FC adapter): &lt;br /&gt;
&lt;br /&gt;
+ fcs0 U0.1-P1-I4/Q1 FC Adapter* fscsi0 U0.1-P1-I4/Q1 FC SCSI I/O Controller Protocol DeviceFast fail logic is invoked when the adapter driver receives an indication from the switch that there has been a link event involving a remote storage device port via a Registered State Change Notification (RSCN) from the switch. &lt;br /&gt;
&lt;br /&gt;
Fast I/O Failure may be desirable in situations where multipath software is being used. Setting fc_err_recov to fast_fail may decrease the I/O fail times due to link loss between the storage device and switch and allow faster failover to alternate paths. &lt;br /&gt;
&lt;br /&gt;
In single-path configurations, especially in configurations with a single path to a paging device, the default delayed_fail setting is recommended. &lt;br /&gt;
&lt;br /&gt;
Fast I/O Failure is only supported in a switched environment. It is not supported in arbitrated loop environments, including public loop. &lt;br /&gt;
&lt;br /&gt;
We configured Fast I/O Failure since we were using the Subsystem Device Driver, two adapters per node and two paths to the storage subsystem. &lt;br /&gt;
&lt;br /&gt;
The requirements for Fast I/O Failure support are the following: &lt;br /&gt;
&lt;br /&gt;
FC 6227 adapter firmware - level 3.22A1 or greater &lt;br /&gt;
&lt;br /&gt;
FC 6228 adapter firmware - level 3.82A1 or greater &lt;br /&gt;
&lt;br /&gt;
FC 6239 adapter firmware - all firmware levels</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/2354529981807055904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/09/enable-fast-io-failure-for-fc-adapt.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/2354529981807055904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/2354529981807055904'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/09/enable-fast-io-failure-for-fc-adapt.html' title='Enable Fast I/O Failure for FC adapt'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-65126062562576480</id><published>2010-09-21T17:03:00.000+04:00</published><updated>2010-09-21T17:03:20.984+04:00</updated><title type='text'>Configuring RAC logical disks AIX</title><content type='html'>There are two FC protocols, depending on whether an FC switch (fabric configuration) or an FC HUB (arbitrated loop) is used: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The nodes are connected directly to the ESS, excluding any network equipment. Choose Arbitrated Loop (al protocol). This is the default value. &lt;br /&gt;
&lt;br /&gt;
The nodes are connected to a SAN, using a switch. Select Point-to-Point (pt2pt protocol). &lt;br /&gt;
&lt;br /&gt;
Because our platform is using a switched SAN, the point-to-point protocol is selected on all nodes and ESS Fibre Channel adapters. &lt;br /&gt;
&lt;br /&gt;
To view the actual value set on the FC adapter: &lt;br /&gt;
&lt;br /&gt;
{node3:root}/-&amp;gt; lsattr -El fcs0 &lt;br /&gt;
grep init_linkinit_link al INIT Link flags TrueTo change this value, use &quot;smitty devices&quot;, select the FC Adapter menu, and change the field INIT Link flags. Or, you can use the command: &lt;br /&gt;
&lt;br /&gt;
{node3:root}/-&amp;gt; chdev -l fcs0 -a init_link=pt2pt&lt;br /&gt;
&lt;br /&gt;
If you are unsure about the way your nodes are connected to the disk subsystems, choose init_link=al. This setting first tries to detect a switch. If that fails, it changes to arbitrated loop. It is like an auto detect feature. The FC adapter will recognize the device it is connected to, that is, FC hub or switch. &lt;br /&gt;
&lt;br /&gt;
Check whether all fiber cables are connected (nodes to FC switch, FC switch to ESS). This step assumes that the ESS storage configuration has been performed and checked. &lt;br /&gt;
&lt;br /&gt;
For consistency, we recommend that you remove any previous definition of the FC adapters and their child devices, then run a fresh cfgmgr. On each node and for each FC adapter, issue: &lt;br /&gt;
&lt;br /&gt;
{node3:root}/-&amp;gt; rmdev -Rdl fcs0&lt;br /&gt;
&lt;br /&gt;
{node3:root}/-&amp;gt; cfgmgr</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/65126062562576480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/09/configuring-rac-logical-disks-aix.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/65126062562576480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/65126062562576480'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/09/configuring-rac-logical-disks-aix.html' title='Configuring RAC logical disks AIX'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-2190294558990324020</id><published>2010-09-21T17:00:00.000+04:00</published><updated>2010-09-21T17:00:38.268+04:00</updated><title type='text'>The HACMP clstat command does not work</title><content type='html'>Clinfo daemon started? &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The clstat command retrieves the information from the clinfo daemon. This daemon is not started automatically. It is an option in the SMIT HACMP startup menu (smitty clstart). If it is not running, stop HACMP on this node, and start it up again with clinfo activated. &lt;br /&gt;
&lt;br /&gt;
To check the status of the HACMP processes: lssrc -a | grep -E &quot;ES | svcs&quot; &lt;br /&gt;
&lt;br /&gt;
SNMP version in AIX 5L version 5.2 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
AIX 5L version 5.2 uses SNMP version 3 agents, whereas HACMP uses a SNMP version 1 configuration. Both clinfo and CSPOC require SNMP version 1. With the default SNMP agent, the clinfo daemon is not able to supply cluster information, thus the clinfo command will not work properly. &lt;br /&gt;
&lt;br /&gt;
Run the script provided in Example 3-38 to switch to version 1 agents. &lt;br /&gt;
&lt;br /&gt;
Example 3-38 Switch SNMP agents to version 1 &lt;br /&gt;
&lt;br /&gt;
#!/bin/kshLOG=/var/adm/chg_snmpd.logtouch $LOG/usr/es/sbin/cluster/utilities/clstop -N -g &amp;gt;&amp;gt; $LOG 2&amp;gt;&amp;amp;1sleep 5for i in muxatmd aixmibd snmpmibd hostmibd snmpddostopsrc -s $i &amp;gt;&amp;gt; $LOG 2&amp;gt;&amp;amp;1sleep 2doneln -sf /usr/sbin/snmpdv1 /usr/sbin/snmpdfor i in snmpd hostmibd snmpmibd aixmibd muxatmddostartsrc -s $i &amp;gt;&amp;gt; $LOG 2&amp;gt;&amp;amp;1sleep 2donesleep 10/usr/es/sbin/cluster/etc/rc.cluster -N -i &amp;gt;&amp;gt; $LOG 2&amp;gt;&amp;amp;1sleep 5 &lt;br /&gt;
&lt;br /&gt;
You can also use the following command to change the running SNMP configuration back to version 1: &lt;br /&gt;
&lt;br /&gt;
/usr/sbin/snmpv3_ssw -1&lt;br /&gt;
&lt;br /&gt;
For security reasons do not use the default &quot;public&quot; SNMP community. You can change the community name in the /etc/snmpd.conf file, then stop cluster services (incl. clinfo) and specify this new name to clinfo: chssys -s clinfo(ES) -a &quot;-c NEW_COMMUNITY_NAME&quot; , then restart HACMP.</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/2190294558990324020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/09/hacmp-clstat-command-does-not-work.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/2190294558990324020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/2190294558990324020'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/09/hacmp-clstat-command-does-not-work.html' title='The HACMP clstat command does not work'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-4923885587811519916</id><published>2010-09-21T16:56:00.003+04:00</published><updated>2010-09-21T16:57:59.919+04:00</updated><title type='text'>Oracle RAC does not start</title><content type='html'>HACMP started &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Before starting Oracle9i RAC instances, the HACMP cluster must be up and running. Check the cluster state with the /usr/sbin/cluster/clstat command. &lt;br /&gt;
&lt;br /&gt;
Hagsuser group &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These tests must be performed on all nodes: &lt;br /&gt;
&lt;br /&gt;
Check that the Oracle user is part of the hagsuser group. The name of this group is mandatory, and cannot be changed. &lt;br /&gt;
&lt;br /&gt;
Check, and change if necessary, the permissions on the cldomain executable. This program must be executable by everybody (user, group, other): &lt;br /&gt;
&lt;br /&gt;
# chmod a+x /usr/es/sbin/cluster/utilities/cldomain&lt;br /&gt;
&lt;br /&gt;
Check, and change the group to hagsuser if necessary, for the svcsdsocket.oracle9irac socket file: (assuming that oracle9irac is the name of your cluster, returned by the cldomain command): &lt;br /&gt;
&lt;br /&gt;
{node2:root}/-&amp;gt; chgrp hagsuser /var/ha/soc/grpsvcsdsocket.oracle9irac&lt;br /&gt;
&lt;br /&gt;
Check, and change if necessary, the group permissions for the grpsvcsdsocket.oracle9irac socket: &lt;br /&gt;
&lt;br /&gt;
{node2:root}/-&amp;gt; chmod g+w /var/ha/soc/grpsvcsdsocket.oracle9irac&lt;br /&gt;
&lt;br /&gt;
The HAGS socket file needs to be writable by the Oracle user and the cldomain executable needs to be executable by Oracle. By configuring the group and permissions for the grpsvcsdsocket.oracle9irac file, the instance will be able to communicate with HAGS and the instance will mount. &lt;br /&gt;
&lt;br /&gt;
See Example 3-39 for the valid permissions and group membership for the socket files used by Oracle9i RAC. &lt;br /&gt;
&lt;br /&gt;
Example 3-39 Permissions on the /var/ha/soc directory &lt;br /&gt;
&lt;br /&gt;
{node2:root}/var/ha/soc-&amp;gt; ls -ltotal 0&lt;br /&gt;
srw-rw-rw- 1 root haemrm 0 Jun 10 18:18 em.clsrv.oracle9irac&lt;br /&gt;
srw-rw---- 1 root haemrm 0 Jun 10 18:18 em.rmsrv.oracle9irac&lt;br /&gt;
drwxrwxrwx 2 root system 256 Jun 11 19:20 grpsvcs.clients.oracle9i&lt;br /&gt;
racsrw-rw-rw- 1 root hagsuser 0 Jun 10 18:18 grpsvcsdsocket.oracle9i&lt;br /&gt;
racdrwxrwx--- 2 root haemrm 256 Jun 10 18:18 haem&lt;br /&gt;
drwxr-xr-x 2 root system 256 May 13 17:54 hats&lt;br /&gt;
drwxr-xr-x 2 root system 256 Jun 10 18:18 topsvcs&lt;br /&gt;
&lt;br /&gt;
UDP tuning &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The udp_sendspace value must always be greater than Oracle9i RAC&#39;s db_block_size. Otherwise Oracle9i RAC will not start.&lt;br /&gt;
&lt;br /&gt;
GPFS issues &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
GPFS requires a quorum of nodes to run. It also requires that both nodes holding the GPFS configuration data be up and running for any configuration changes to be performed. &lt;br /&gt;
&lt;br /&gt;
In case of a system restart, GPFS will be started automatically and the GPFS file systems will be mounted. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To shut down and unmount the GPFS file systems on all nodes, issue: &lt;br /&gt;
&lt;br /&gt;
# mmshutdown -a &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To start GPFS and mount the GPFS file systems on all nodes, issue: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# mmstartup -a</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/4923885587811519916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/09/oracle-rac-does-not-start.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/4923885587811519916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/4923885587811519916'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/09/oracle-rac-does-not-start.html' title='Oracle RAC does not start'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-6548105693271264595</id><published>2010-09-21T16:35:00.000+04:00</published><updated>2010-09-21T16:35:03.769+04:00</updated><title type='text'>ESS Specialist does not list the WWPN</title><content type='html'>Each Fibre Channel adapter on the nodes has a unique World Wide Number (Identified in ESS Specialist as World Wide Port Number - WWPN). &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When creating a new host with ESS Specialist, select the appropriate WWPN in a scroll list. If you don&#39;t see this WWPN, ensure the following: &lt;br /&gt;
&lt;br /&gt;
The link is correct. You should see the red laser light emitted by the host adapter on the fiber connected to the Storage Area Network - SAN (FC switch). &lt;br /&gt;
&lt;br /&gt;
The FC adapters on the nodes and the ESS have the proper link type value of point-to-point or arbitrated loop. If you are unsure about your network topology, leave the default, which is arbitrated loop. &lt;br /&gt;
&lt;br /&gt;
The command cfgmgr -vsl fcs0 has been run on the nodes.</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/6548105693271264595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/09/ess-specialist-does-not-list-wwpn.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/6548105693271264595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/6548105693271264595'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/09/ess-specialist-does-not-list-wwpn.html' title='ESS Specialist does not list the WWPN'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-3527727816796214271</id><published>2010-09-21T16:33:00.000+04:00</published><updated>2010-09-21T16:33:08.916+04:00</updated><title type='text'>FC adapter microcode</title><content type='html'>Always check your FC adapter microcode level and resolve any issues with your IBM service representative. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Example 3-11 Fibre Channel adapter microcode (on the nodes) &lt;br /&gt;
&lt;br /&gt;
{node1:root}/-&amp;gt; lscfg -vl fcs0 fcs0 U1.9-P1-I1/Q1 FC Adapter&lt;br /&gt;
&lt;br /&gt;
Part Number.................00P2995 &lt;br /&gt;
EC Level....................A &lt;br /&gt;
Serial Number...............1A238006CD &lt;br /&gt;
Manufacturer................001A FRU Number.................. 00P2996 &lt;br /&gt;
Network Address.............10000000C92F4E44 &amp;lt;--- World Wide Number &lt;br /&gt;
ROS Level and ID............02C03891 &lt;br /&gt;
Device Specific.(Z0)........2002606D &lt;br /&gt;
Device Specific.(Z1)........00000000 &lt;br /&gt;
Device Specific.(Z2)........00000000 &lt;br /&gt;
Device Specific.(Z3)........02000909 &lt;br /&gt;
Device Specific.(Z4)........FF401050 &lt;br /&gt;
Device Specific.(Z5)........02C03891 &lt;br /&gt;
Device Specific.(Z6)........06433891 &lt;br /&gt;
Device Specific.(Z7)........07433891 &lt;br /&gt;
Device Specific.(Z8)........20000000C92F4E44 &lt;br /&gt;
Device Specific.(Z9)........CS3.82A1 &lt;br /&gt;
Device Specific.(ZA)........C1D3.82A1 &lt;br /&gt;
Device Specific.(ZB)........C2D3.82A1 &lt;br /&gt;
Device Specific.(YL)........U1.9-P1-I1/Q1 &lt;br /&gt;
&lt;br /&gt;
To obtain the latest microcode level, check this link: &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://techsupport.services.ibm.com/server/mdownload/download.html#adapter&quot;&gt;http://techsupport.services.ibm.com/server/mdownload/download.html#adapter&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/3527727816796214271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/09/fc-adapter-microcode.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/3527727816796214271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/3527727816796214271'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/09/fc-adapter-microcode.html' title='FC adapter microcode'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-2016149026925041851</id><published>2010-09-21T16:26:00.000+04:00</published><updated>2010-09-21T16:26:41.472+04:00</updated><title type='text'>Oracle Transparent Network Failover Failback (TNFF)</title><content type='html'>Oracle offers a high availability feature called Oracle Transparent Network Failover Failback (TNFF). In an IBM pSeries environment, this works closely with HACMP/ES. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tip: The Oracle9i RAC network selection mechanism must be well understood before planning and configuring HACMP/ES. &lt;br /&gt;
&lt;br /&gt;
Interconnect network selection &lt;br /&gt;
&lt;br /&gt;
The Oracle cluster interconnect networks can be configured using either a &quot;private&quot; or a &quot;public&quot; network type defined in HCMP/ES. The Oracle IPC traffic is sent over one of the networks. Oracle RAC chooses the network interface according to the following rules: &lt;br /&gt;
&lt;br /&gt;
1. HACMP &quot;service&quot; networks are required. &lt;br /&gt;
&lt;br /&gt;
Oracle chooses only HACMP/ES networks configured as &quot;service&quot;. &lt;br /&gt;
&lt;br /&gt;
2. Oracle uses the HACMP cllsif utility to determine the network interface. &lt;br /&gt;
&lt;br /&gt;
Oracle uses the HACMP utility cllsif to determine which network interface to use based on the rules described below. Oracle chooses the network to use according to the cllsif alphanumeric sort list. &lt;br /&gt;
&lt;br /&gt;
3. Private networks are preferred over public networks. &lt;br /&gt;
&lt;br /&gt;
If there are multiple private networks under HACMP, RAC chooses the interconnect communication by performance quality in the following order: SPswitch &amp;gt; FDDI &amp;gt; Ethernet &lt;br /&gt;
&lt;br /&gt;
Note: Although networks can be labeled inside HACMP as public or private, this attribute has no functional meaning. It&#39;s only a way for Oracle to make network selections. &lt;br /&gt;
&lt;br /&gt;
4. Maximum is three networks. &lt;br /&gt;
&lt;br /&gt;
Oracle will choose up to three networks. Oracle recommends two private and one (or more) public networks for the cluster interconnect. &lt;br /&gt;
&lt;br /&gt;
The Network failover and failback sequence &lt;br /&gt;
&lt;br /&gt;
A typical configuration, using common network hardware, has two private interconnects and one public interconnect scenarios. &lt;br /&gt;
&lt;br /&gt;
If the first HACMP/ES private service network goes down, Oracle TNFF fails over to the second private service network. If the second private service network also fails, TNFF continues to fail over to the public network. &lt;br /&gt;
&lt;br /&gt;
If any of the two failed private interconnects is restored, the TNFF fails back to that private service interconnect. If both failed private interconnects are fixed, then TNFF restores the RAC communication to the first listed private service network, according to the cllsif command output alphanumeric sort order.</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/2016149026925041851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/09/oracle-transparent-network-failover.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/2016149026925041851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/2016149026925041851'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/09/oracle-transparent-network-failover.html' title='Oracle Transparent Network Failover Failback (TNFF)'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-8700981970710078248</id><published>2010-09-21T15:50:00.000+04:00</published><updated>2010-09-21T15:50:52.282+04:00</updated><title type='text'>Typical Oracle RAC configurations</title><content type='html'>All configurations are based on the following building blocks: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hardware &lt;br /&gt;
&lt;br /&gt;
Server nodes &lt;br /&gt;
&lt;br /&gt;
Storage &lt;br /&gt;
&lt;br /&gt;
Networking &lt;br /&gt;
&lt;br /&gt;
Software &lt;br /&gt;
&lt;br /&gt;
Operating system &lt;br /&gt;
&lt;br /&gt;
Cluster software &lt;br /&gt;
&lt;br /&gt;
Oracle RAC (application) &lt;br /&gt;
&lt;br /&gt;
Application architecture &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Oracle9i RAC on RAW devices is based on a shared disk architecture. Figure 2-1 shows a two-node cluster. The lower solid line is the primary Oracle interconnect, the middle dashed line is the secondary Oracle interconnect. For high availability, both these networks should be defined in the HACMP as &quot;private&quot;. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7FKWSfzLfUVbjlBZZMgEdarUIEm_KFgvHvPEPDKgN3f8iaGYClb0hO85kHGtRdhF2ILz0cJoBZ0MvKvh0UM5wGFEESRFKqc2kleiXDJr04cZT33wi-zOLA9PFYe5spe8D8iSufKffdiox/s1600/07-06-3.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;277&quot; qx=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7FKWSfzLfUVbjlBZZMgEdarUIEm_KFgvHvPEPDKgN3f8iaGYClb0hO85kHGtRdhF2ILz0cJoBZ0MvKvh0UM5wGFEESRFKqc2kleiXDJr04cZT33wi-zOLA9PFYe5spe8D8iSufKffdiox/s400/07-06-3.jpg&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
HACMP/ESCRM provides Oracle9i RAC with the infrastructure for concurrent access to disks. Although HACMP provides concurrent access and a disk locking mechanism, this mechanism is not used. Oracle, instead, provides its own locking mechanism for concurrent data access, integrity, and consistency. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Volume groups are varied on all the nodes, thus ensuring short failover time. This type of concurrent access can only be provided for RAW logical volumes (devices). HACMP/ESCRM does not support concurrent file systems. &lt;br /&gt;
&lt;br /&gt;
Oracle datafiles use the RAW devices located on the shared disk subsystem. In this configuration, an HACMP resource group has to be defined to handle the concurrent volume groups. &lt;br /&gt;
&lt;br /&gt;
Oracle9i RAC installation and configuration (on GPFS) &lt;br /&gt;
&lt;br /&gt;
In a GPFS file system environment you have two choices for installing Oracle code: &lt;br /&gt;
&lt;br /&gt;
1. Install the code on each node (non-shared file system) &lt;br /&gt;
&lt;br /&gt;
Create a JFS or JFS2 file system on each node and set oracle.dna ownership on these file systems. When installing Real Application Clusters, the Oracle Universal Installer (OUI) will copy the Oracle code from the node from which you are running the installer to the other nodes in the cluster. This results in one copy of the Oracle binaries on each node. &lt;br /&gt;
&lt;br /&gt;
2. Install the Oracle software on a GPFS file system, thus creating only one copy of the Oracle binaries. All instances will share the same code. This option is more convenient because all configuration and SW maintenance can be performed from any node in the cluster. &lt;br /&gt;
Single point of control instance management &lt;br /&gt;
&lt;br /&gt;
On each node, create the directory /var/opt/oracle and set the ownership to the user oracle. During Oracle9i RAC installation, a file called srvConfig.loc will be created in this directory. &lt;br /&gt;
&lt;br /&gt;
This file is used for specifying the destination of the Oracle server manager utility (srvctl) common configuration file. This file must be on a shared file system (GPFS), and is used by the Oracle server manager for central management of the Oracle9i RAC instances. &lt;br /&gt;
&lt;br /&gt;
Oracle code file system configuration &lt;br /&gt;
&lt;br /&gt;
In our environment we chose a GPFS file system to store the Oracle code. For GPFS file system configuration, refer to 3.10.2, GPFS cluster configuration. &lt;br /&gt;
&lt;br /&gt;
Check if the designated Oracle code file system is mounted. We used /oracle as mount point for this file system. All binaries, Oracle logs, and initialization (init) files will be on the GPFS file system. Be sure to allocate enough space on this file system (see Example 4-6), considering future SW upgrades and Oracle log files. &lt;br /&gt;
&lt;br /&gt;
Example 4-6 File system allocation &lt;br /&gt;
&lt;br /&gt;
{node1:root}/-&amp;gt; df -PkFilesystem 1024-blocks Used Available Capacity Mounted on/dev/hd4 65536 37936 27600 58% //dev/hd2 1376256 1354380 21876 99% /usr/dev/hd9var 131072 66216 64856 51% /var/dev/hd3 917504 49744 867760 6% /tmp/dev/hd1 65536 15132 50404 24% /home/proc - - - - /proc/dev/hd10opt 131072 57436 73636 44% /opt/dev/data 144424960 129734240 14690720 90% /data/dev/oracle 9748480 6607360 3141120 68% /oracle &lt;br /&gt;
&lt;br /&gt;
Change the ownership and access permission for the Oracle directory: &lt;br /&gt;
&lt;br /&gt;
chown -R oracle.dba /oracle&lt;br /&gt;
Oracle user environment &lt;br /&gt;
&lt;br /&gt;
Set up the Oracle environment in the $HOME/.profile file of the user oracle. Depending on your configuration, you may choose the user oracle home directory on an internal disk (/home/oracle, in which case you have to propagate the same environment on all nodes), or on a GPFS file system, in the /oracle directory (/oracle/home in our environment). &lt;br /&gt;
&lt;br /&gt;
Example 4-7 Setting environment variables in ~/.profile &lt;br /&gt;
&lt;br /&gt;
&amp;gt;&amp;gt;&amp;gt; Previous lines are generic environment lines (MAILMESG, PS1 etc.,)&amp;lt;&amp;lt;&amp;lt;&amp;lt;# Oracle specific environment starts HEREHOST=`hostname -s`# This stanza selects the value of ORACLE_SID variable depending on the host the oracle# user logs in.case ${HOST} in node1) SID=1;; node2) SID=2;; node3) SID=3;; node4) SID=4;;esac# Variables needed during installation and normal operationexport ORACLE_SID=rac${SID}export DISPLAY=node1:0.0export TMPDIR=/oracle/tempexport TEMP=/oracle/tempexport ORACLE_BASE=/oracleexport ORACLE_HOME=/oracle/product/9.2.0export PATH=$ORACLE_HOME/bin:$PATH &lt;br /&gt;
&lt;br /&gt;
The following variables are mandatory to perform an Oracle9i RAC installation: &lt;br /&gt;
ATH. &lt;br /&gt;
&lt;br /&gt;
ORACLE_SID is the system identifier for an Oracle server instance. This variable uniquely identifies a database instance. For consistency, we chose RAC as instance name prefix (see Example 4-7 and Table 4-1). &lt;br /&gt;
&lt;br /&gt;
Table 4-1 &lt;br /&gt;
&lt;br /&gt;
Host name Node name Thread ID SID &lt;br /&gt;
node1 node1 1 rac1 &lt;br /&gt;
node2 node2 2 rac2 &lt;br /&gt;
node3 node3 3 rac3 &lt;br /&gt;
node4 node4 4 rac4 &lt;br /&gt;
&lt;br /&gt;
Instance name selection &lt;br /&gt;
&lt;br /&gt;
ORACLE_HOME is the directory that contains the Oracle software (binaries, libraries etc.). &lt;br /&gt;
TMPDIR and TMP: during installation Oracle needs approx. 800 MB of temporary space. For maintaining the system /tmp directory under control, we allocated a separate temporary space in the /oracle/temp directory, and assigned the two variables to point to this directory. &lt;br /&gt;
ORACLE_BASE specifies the base directory for Oracle software. &lt;br /&gt;
&lt;br /&gt;
Also, the DISPLAY variable is needed for nodes that do not have a graphical display. &lt;br /&gt;
&amp;nbsp;the oracle user environment by logging in to the systems (as user oracle) and displaying the variables, as shown in Example 4-8. &lt;br /&gt;
&lt;br /&gt;
Example 4-8 Testing the environment &lt;br /&gt;
&lt;br /&gt;
{node1:oracle}/oracle/home-&amp;gt; echo $ORACLE_SIDrac1 &lt;br /&gt;
&lt;br /&gt;
Now start the Oracle9i Universal Installer (OUI) graphical interface tool. &lt;br /&gt;
&lt;br /&gt;
Creating and validating the database &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This section describes how to plan and create a database and the associated storage. &lt;br /&gt;
We created a Real Application Clusters Database using the dbca graphical user interface (GUI). &lt;br /&gt;
&lt;br /&gt;
The database can also be created manually, using scripts.</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/8700981970710078248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/09/typical-oracle-rac-configurations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/8700981970710078248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/8700981970710078248'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/09/typical-oracle-rac-configurations.html' title='Typical Oracle RAC configurations'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7FKWSfzLfUVbjlBZZMgEdarUIEm_KFgvHvPEPDKgN3f8iaGYClb0hO85kHGtRdhF2ILz0cJoBZ0MvKvh0UM5wGFEESRFKqc2kleiXDJr04cZT33wi-zOLA9PFYe5spe8D8iSufKffdiox/s72-c/07-06-3.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-4075617791372787851</id><published>2010-09-19T18:04:00.000+04:00</published><updated>2010-09-19T18:04:47.004+04:00</updated><title type='text'>Various Site-to-Site IPSec VPN: Cisco, Juniper, Checkpoint, Sonicwall, Zywall</title><content type='html'>Introduction&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setting up site-to-site IPSec VPN connection in general involves two phases. Phase 1 is called ISAKMP SA (Security Association) establishment and Phase 2 is called IPSec SA establishment. &lt;br /&gt;
&lt;br /&gt;
Phase 1&lt;br /&gt;
In general, Phase 1 deals with confirmation among sites that are about to establish secure connection across unsecure network. This process is to verify that each site is authorized to establish such connection. Following is further description.&lt;br /&gt;
&lt;br /&gt;
Phase 1 is to establish the ISAKMP key matching with remote site. One popular technique of this ISAKMP key matching is to use preshared key. This key is basically a string (combination of alphabets, numbers, and characters) that both sites agree to use. The key is then stored (and encrypted) within each VPN device configuration.&lt;br /&gt;
&lt;br /&gt;
Phase 1 in IPSec VPN connection establishment is also involving the remote VPN device IP address (peer). A popular technique is to specifically set the remote peer IP address (for security purposes); known as static configuration. With this specific static configuration, both preshared key and remote IP address are statically configured into the VPN device. &lt;br /&gt;
&lt;br /&gt;
During the Phase 1 VPN tunnel establishment using the static configuration of both preshared key and remote IP address, the two VPN peer IP addresses (the local and the remote) must match. If the two VPN peer IP addresses match, then the next step is to match the preshared key between the two VPN devices.&lt;br /&gt;
&lt;br /&gt;
This preshared key matching process is done within an encapsulated secure (encrypted) tunnel. The encapsulation type and method used is the encryption specified for the Phase 1. In other word, Phase 1 VPN tunnel establishment in this case involves matching process of three factors where all the three are statically configured into both VPN devices. If there is a change needed to the either one of the three, manual adjustment is needed. &lt;br /&gt;
&lt;br /&gt;
The three factors are VPN peer IP addresses, preshared key, and encryption type and method. In this specific example, those three factors are the key of how Phase 1 process take place to verify security association establishment between sites that are about to setup secure connection over untrusted network. &lt;br /&gt;
&lt;br /&gt;
Phase 2&lt;br /&gt;
&lt;br /&gt;
Once Phase 1 is passed successfully, then the setup process moves to the Phase 2. In general, Phase 2 deals with traffic management of the actual data communication between sites. There will be mechanism to determine which data goes where, encrypted or not.&lt;br /&gt;
&lt;br /&gt;
In Cisco security device, one mechanism factor is to use access list. An access list is used to specify or regulate which data (source and destination IP addresses or subnets) need to be encrypted or decrypted (going through the VPN tunnel). &lt;br /&gt;
&lt;br /&gt;
Similar to the Phase 1, there is also specific remote VPN peer IP addresses and IPSec VPN tunnel type and method only for the Phase 2. All the access list, remote VPN peer IP addresses, and the Phase 2 IPSec VPN tunnel type and method are statically configured into both VPN devices. The actual data passing (that are encrypted before leaving local VPN device to go to the remote VPN device; and are decrypted when arriving at local VPN device from the remote VPN device) are encapsulated within the Phase 2 IPSec VPN tunnel.&lt;br /&gt;
&lt;br /&gt;
In other word, the access list, VPN peer IP addresses, and IPSec VPN tunnel type and method are the key to establish the Phase 2. Once Phase 2 is established, the actual data between sites will be passing.&lt;br /&gt;
&lt;br /&gt;
Between Phase 1 and Phase 2&lt;br /&gt;
&lt;br /&gt;
Note that only the Phase 2 involves the IPSec protocol, either ESP (Protocol 50) or AH (Protocol 51). Both Phase 1 (ISAKMP) and Phase 2 (IPSec) use specific encryption type (i.e. AES, 3DES, DES) and hash (MD5 or SHA). Specifically for Phase 1, there is the Diffie-Hellman group type (Group 1, 2, or 5) and the ISAKMP SA (Security Association) timeout or lifetime.&lt;br /&gt;
&lt;br /&gt;
Cisco Configuration Guide&lt;br /&gt;
&lt;br /&gt;
An Introduction to IP Security (IPSec) Encryption&lt;br /&gt;
&lt;br /&gt;
Virtual Private Networks with the Cisco PIX Firewall - Introduction and Implementation &lt;br /&gt;
&lt;br /&gt;
Illustration&lt;br /&gt;
&lt;br /&gt;
Let&#39;s review the following PIX IPSec VPN tunnel configuration&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;textarea class=&quot;text&quot; cols=&quot;50&quot; name=&quot;code&quot; rows=&quot;10&quot;&gt;PIX Version 6.1(2)&amp;lt;br /&amp;gt; interface ethernet0 auto&amp;lt;br /&amp;gt; interface ethernet1 auto&amp;lt;br /&amp;gt; nameif ethernet0 outside security0&amp;lt;br /&amp;gt; nameif ethernet1 inside security100&amp;lt;br /&amp;gt; enable password 8Ry2YjIyt7RRXU24 encrypted&amp;lt;br /&amp;gt; passwd 2KFQnbNIdI.2KYOU encrypted&amp;lt;br /&amp;gt; hostname pix_1&amp;lt;br /&amp;gt; fixup protocol ftp 21&amp;lt;br /&amp;gt; fixup protocol http 80&amp;lt;br /&amp;gt; fixup protocol h323 1720&amp;lt;br /&amp;gt; fixup protocol rsh 514&amp;lt;br /&amp;gt; fixup protocol smtp 25&amp;lt;br /&amp;gt; fixup protocol sqlnet 1521&amp;lt;br /&amp;gt; fixup protocol sip 5060&amp;lt;br /&amp;gt; names&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; !--- These are the access list that regulate the actual data passing within Phase 2 IPSec VPN tunnel&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; !--- The IPSec VPN tunnel between PIX 1 and PIX 2:&amp;lt;br /&amp;gt; !--- The 10.1.1.0/24 is local subnet to this PIX 1 VPN device as the source subnet&amp;lt;br /&amp;gt; !--- The 10.2.2.0/24 is remote subnet reside at the PIX 2 remote VPN device as the destination subnet&amp;lt;br /&amp;gt; access-list 120 permit ip 10.1.1.0 255.255.255.0 10.2.2.0 255.255.255.0 &amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; !--- The IPSec VPN tunnel between PIX 1 and PIX 3:&amp;lt;br /&amp;gt; !--- The 10.1.1.0/24 is local subnet to this PIX 1 VPN device as the source subnet&amp;lt;br /&amp;gt; !--- The 10.3.3.0/24 is remote subnet reside at the PIX 3 remote VPN device as the destination subnet&amp;lt;br /&amp;gt; access-list 130 permit ip 10.1.1.0 255.255.255.0 10.3.3.0 255.255.255.0 &amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; !--- No NAT in place for traffic to other PIX Firewall private networks&amp;lt;br /&amp;gt; !--- This access list associates with the nat 0 (inside) command&amp;lt;br /&amp;gt; access-list 100 permit ip 10.1.1.0 255.255.255.0 10.2.2.0 255.255.255.0 &amp;lt;br /&amp;gt; access-list 100 permit ip 10.1.1.0 255.255.255.0 10.3.3.0 255.255.255.0 &amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; pager lines 24&amp;lt;br /&amp;gt; logging on&amp;lt;br /&amp;gt; logging facility 20&amp;lt;br /&amp;gt; logging queue 512&amp;lt;br /&amp;gt; mtu outside 1500&amp;lt;br /&amp;gt; mtu inside 1500&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; !--- The outside interface IP address will be used as the local VPN peer IP address&amp;lt;br /&amp;gt; ip address outside 172.18.124.153 255.255.255.0&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; ip address inside 10.1.1.1 255.255.255.0&amp;lt;br /&amp;gt; ip audit info action alarm&amp;lt;br /&amp;gt; ip audit attack action alarm&amp;lt;br /&amp;gt; no failover&amp;lt;br /&amp;gt; failover timeout 0:00:00&amp;lt;br /&amp;gt; failover poll 15&amp;lt;br /&amp;gt; failover ip address outside 0.0.0.0&amp;lt;br /&amp;gt; failover ip address inside 0.0.0.0&amp;lt;br /&amp;gt; arp timeout 14400&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; !--- Do not perform NAT for traffic to other PIX Firewalls&amp;lt;br /&amp;gt; !--- This assumes that there is no overlapping subnet within your network&amp;lt;br /&amp;gt; nat (inside) 0 access-list 100&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; !--- Note that the following static route also cover IP reachability to the remote subnets&amp;lt;br /&amp;gt; route outside 0.0.0.0 0.0.0.0 172.18.124.1 1&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; timeout xlate 3:00:00&amp;lt;br /&amp;gt; timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 rpc 0:10:00 h323&amp;lt;br /&amp;gt;    0:05:00 sip 0:30:00 sip_media 0:02:00&amp;lt;br /&amp;gt; timeout uauth 0:05:00 absolute&amp;lt;br /&amp;gt; aaa-server TACACS+ protocol tacacs+ &amp;lt;br /&amp;gt; aaa-server RADIUS protocol radius &amp;lt;br /&amp;gt; no snmp-server location&amp;lt;br /&amp;gt; no snmp-server contact&amp;lt;br /&amp;gt; snmp-server community public&amp;lt;br /&amp;gt; snmp-server enable traps&amp;lt;br /&amp;gt; floodguard enable&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; !--- This is to permit data passing (regulated by the Phase 2 access list) between sites&amp;lt;br /&amp;gt; !--- without applying specific inbound access list into the local IPSec VPN tunnel interface&amp;lt;br /&amp;gt; sysopt connection permit-ipsec&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; no sysopt route dnat&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; !--- The Phase 2 IPSec VPN type and method used&amp;lt;br /&amp;gt; !--- In this illustration, Protocol 50 (ESP) with DES encryption and MD5 hash is used&amp;lt;br /&amp;gt; crypto ipsec transform-set myset esp-des esp-md5-hmac&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; !--- The &quot;crypto map&quot; command specify the access list that regulate data passing between&amp;lt;br /&amp;gt; !--- local and remote VPN devices;&amp;lt;br /&amp;gt; !--- specify the remote VPN peer IP address;&amp;lt;br /&amp;gt; !--- and specify the Phase 2 IPSec VPN tunnel type and method used&amp;lt;br /&amp;gt; ! &amp;lt;br /&amp;gt; !--- IPsec configuration for the Phase 2 IPSec VPN tunnel to PIX 2:&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; crypto map newmap 20 ipsec-isakmp&amp;lt;br /&amp;gt; crypto map newmap 20 match address 120&amp;lt;br /&amp;gt; crypto map newmap 20 set peer 172.18.124.154 &amp;lt;br /&amp;gt; crypto map newmap 20 set transform-set myset&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; !--- IPsec configuration for the Phase 2 IPSec VPN tunnel to PIX 3:&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; crypto map newmap 30 ipsec-isakmp&amp;lt;br /&amp;gt; crypto map newmap 30 match address 130&amp;lt;br /&amp;gt; crypto map newmap 30 set peer 172.18.124.157 &amp;lt;br /&amp;gt; crypto map newmap 30 set transform-set myset&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; !--- This is to specify that outside interface is to be used as the local VPN peer interface&amp;lt;br /&amp;gt; crypto map newmap interface outside&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; !--- This is to enable ISAKMP key exchanging on the outside interface as the local VPN peer interface&amp;lt;br /&amp;gt; isakmp enable outside&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; !--- The &quot;isakmp key&quot; command specify the preshared key and remote VPN peer IP addresses&amp;lt;br /&amp;gt; !--- of each Phase 1 VPN tunnel&amp;lt;br /&amp;gt; isakmp key ******** address 172.18.124.154 netmask 255.255.255.255 no-xauth no-config-mode &amp;lt;br /&amp;gt; isakmp key ******** address 172.18.124.157 netmask 255.255.255.255 no-xauth no-config-mode&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; !--- This is to use the local VPN peer IP address for Phase 1 VPN peer IP address matching process &amp;lt;br /&amp;gt; isakmp identity address&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; !--- The Phase 1 VPN tunnel type and method used&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; !--- The lowest number of ISAKMP policy will be used to see if it is working.&amp;lt;br /&amp;gt; !--- If the policy number does not work, then &amp;lt;br /&amp;gt; !--- proceed to the next bigger policy number to see if that works&amp;lt;br /&amp;gt; isakmp policy 10 authentication pre-share&amp;lt;br /&amp;gt; isakmp policy 10 encryption 3des&amp;lt;br /&amp;gt; isakmp policy 10 hash md5&amp;lt;br /&amp;gt; isakmp policy 10 group 1&amp;lt;br /&amp;gt; isakmp policy 10 lifetime 1000&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; isakmp policy 20 authentication pre-share&amp;lt;br /&amp;gt; isakmp policy 20 encryption des&amp;lt;br /&amp;gt; isakmp policy 20 hash md5&amp;lt;br /&amp;gt; isakmp policy 20 group 1&amp;lt;br /&amp;gt; isakmp policy 20 lifetime 1000&amp;lt;br /&amp;gt; !&amp;lt;br /&amp;gt; telnet timeout 5&amp;lt;br /&amp;gt; ssh timeout 5&amp;lt;br /&amp;gt; terminal width 80&amp;lt;br /&amp;gt; Cryptochecksum:436c96500052d0276324b9ef33221b2d&amp;lt;br /&amp;gt; : end&amp;lt;br /&amp;gt; &lt;/textarea&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/4075617791372787851/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/09/various-site-to-site-ipsec-vpn-cisco.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/4075617791372787851'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/4075617791372787851'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/09/various-site-to-site-ipsec-vpn-cisco.html' title='Various Site-to-Site IPSec VPN: Cisco, Juniper, Checkpoint, Sonicwall, Zywall'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-6637971509589661023</id><published>2010-08-01T16:13:00.000+04:00</published><updated>2010-08-01T16:13:04.360+04:00</updated><title type='text'>IBM SAN Multipath installation on Red Hat Enterprise Linux 5.X</title><content type='html'>This section describes the steps for installing Red Hat Enterprise Linux 5.2 on a multipath device.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1.Determine which multipath device your machine boots from. To do this, note down the LUN (Logical Unit) number of the bootable device that is made available by your Fibre Channel Adapter card during firmware boot. &lt;br /&gt;
&lt;br /&gt;
In the test environment, the firmware displays the boot disk, showing lun number 0.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGQKmZ093Hc4pjFy4q75b_ozYumMc_xAVGOpz_rYtmra8zadT4OOW1DPAX_cGqR5csP0aPC426CdLQSikmWWp0ziIsntZjknXYgJn7kgvNhBIyPkiIcordekSv3dTF9I3bG9lNg4O2exPv/s1600/firmware_boot_disk_info.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; bx=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGQKmZ093Hc4pjFy4q75b_ozYumMc_xAVGOpz_rYtmra8zadT4OOW1DPAX_cGqR5csP0aPC426CdLQSikmWWp0ziIsntZjknXYgJn7kgvNhBIyPkiIcordekSv3dTF9I3bG9lNg4O2exPv/s320/firmware_boot_disk_info.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
2.Start the installation by providing the keyword mpath in the kernel command line. In the test environment, linux mpath vnc was used. &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj038sW3FHayxWC4nkPRcMF6nrBEjmmQKAAROM4lr9VtHmIK-NfK_wS1tqlq32mqUawyufSjYVUo-C9GoGkVzjTOFJhTvg4b19MJYowhX-Hr_Sp2cKRHTUd0aN-2jB3uqmrsvI0AFA6nu7L/s1600/rhel-install.bmp&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; bx=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj038sW3FHayxWC4nkPRcMF6nrBEjmmQKAAROM4lr9VtHmIK-NfK_wS1tqlq32mqUawyufSjYVUo-C9GoGkVzjTOFJhTvg4b19MJYowhX-Hr_Sp2cKRHTUd0aN-2jB3uqmrsvI0AFA6nu7L/s320/rhel-install.bmp&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;The Partitioning screen displays a list of multipath devices as mapper/mpath*. &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4WJb9sv9PlVfJcs5yWdhldOJ0ncq4RIBj8m6EVaUQZ7EP0HG6XRT4NT5v2SBnvXzQZpVUMM59EdwLy00RXn5Nnvp-pHyU3o3WBedqJ0x7vhdYQdHCrxYjMp_jvU81DSZLMOWZ4nakG1XJ/s1600/mapper_mpath1.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; bx=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4WJb9sv9PlVfJcs5yWdhldOJ0ncq4RIBj8m6EVaUQZ7EP0HG6XRT4NT5v2SBnvXzQZpVUMM59EdwLy00RXn5Nnvp-pHyU3o3WBedqJ0x7vhdYQdHCrxYjMp_jvU81DSZLMOWZ4nakG1XJ/s320/mapper_mpath1.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;3. Determine the multipath device that corresponds to the bootable device for the host being installed. Go back to the console window if using VNC, or start an alternate console. In the test environment, the System x® is hooked up to an RSA. In the remote control console, we pressed Ctrl-Alt-F2 for an alternate console. &lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;From the output, we found the device that corresponds to the bootable LUN.&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;In the test environment, System x is connected to an RSA. In the console, we ran the command:&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;multipath -ll &lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;grep -E &#39;:&lt;lun number=&quot;&quot;&gt; &lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;mpath&#39;The following output was displayed:&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0lvCyjUesxZ0xBlhS_ukvX3Fl1EyJrr-XANZj0abHTKeqnM9yWkwgIsg2SF3aNcPHcy5_vmv3WMRjU3jUZbplRsxVx4DN31_xVMWamom8OXFa92sqBssz0reTkbQkXXGm49axB1T22s6b/s1600/multipath_ll.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; bx=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0lvCyjUesxZ0xBlhS_ukvX3Fl1EyJrr-XANZj0abHTKeqnM9yWkwgIsg2SF3aNcPHcy5_vmv3WMRjU3jUZbplRsxVx4DN31_xVMWamom8OXFa92sqBssz0reTkbQkXXGm49axB1T22s6b/s320/multipath_ll.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;From the output of the command as shown above, dm-6, the fourth multipath device listed, corresponds to LUN 0. First, look for the numbers in x:x:x:x format. The devices with x:x:x:0 are the devices correspond to LUN 0. In this case, dm-6, with the two multipaths 0:0:0:0 and 0:0:1:0, is the bootable multipath device of the host. mapper/mpath4, which corresponds to dm-6, is then the bootable multipath device for installation.&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. Continue the install by going back to your VNC session, or switching back to the console window if installing through text mode. In the test environment, we pressed Ctrl-Alt-F1 in the remote control console.&lt;br /&gt;
&lt;br /&gt;
5.Select the appropriate multipath device for installation. In the test environment, mapper/mpath4 is the only device checked. &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxPdOo2S1GtMVq7i6nSPObNlL_QTaU8SAS2H_6sWdURKcuzg6E3ZNYL2Gkr37-MSQZEyzpT5DqxcV26KpqLmUN5fj-GPPB_Zniq-IlD3rBj-xScCP1TOTtKIc3JwS-CfL1BU0gttX4dnka/s1600/mapper_mpath.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; bx=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxPdOo2S1GtMVq7i6nSPObNlL_QTaU8SAS2H_6sWdURKcuzg6E3ZNYL2Gkr37-MSQZEyzpT5DqxcV26KpqLmUN5fj-GPPB_Zniq-IlD3rBj-xScCP1TOTtKIc3JwS-CfL1BU0gttX4dnka/s320/mapper_mpath.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
6. Select Review and modify partitioning layout and then press Next. &lt;br /&gt;
&lt;br /&gt;
7. Boot loader might not selected by default to install into the bootable multipath device. In the test environment, the boot loader defaulted to /dev/mapper/mpath0, as shown in the following screen. Note the first line of the screen: &lt;br /&gt;
&lt;br /&gt;
The GRUB boot loader will be installed on /dev/mapper/mpath0.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8gBJp3CtyR4oKQ7M1Bh30xNvcwBGFubcDXxo8n6lf7JJ3vDrdNc1XMGwhr06Mmk5hfJiThMhEnMG_TP2NFIt1pKkQhGCIjE4U3zjEKWqY4NxszZj5J-6pG-cCfod9IldRs2X3B7JN3mUf/s1600/mpath-bootloader.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; bx=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8gBJp3CtyR4oKQ7M1Bh30xNvcwBGFubcDXxo8n6lf7JJ3vDrdNc1XMGwhr06Mmk5hfJiThMhEnMG_TP2NFIt1pKkQhGCIjE4U3zjEKWqY4NxszZj5J-6pG-cCfod9IldRs2X3B7JN3mUf/s320/mpath-bootloader.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
8. If the installer did not select the correct multipath bootable device, change where the boot loader is installed by selecting Configure advanced boot loader options and press Next. &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiScXDKW1cw3Ck8-E5b5aIqvx7e2LkljUM_0MrGKUSUhdnMlN5Tlp_I5CtStNr9Ra2c9DJ9SyB3KkLbsrsX56dWdpEBSVWhuVoV1pt_2vyOwQ4laoD38-o_tEPgPnMcHevrFrwmoFke46iJ/s1600/bootloader3a.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; bx=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiScXDKW1cw3Ck8-E5b5aIqvx7e2LkljUM_0MrGKUSUhdnMlN5Tlp_I5CtStNr9Ra2c9DJ9SyB3KkLbsrsX56dWdpEBSVWhuVoV1pt_2vyOwQ4laoD38-o_tEPgPnMcHevrFrwmoFke46iJ/s320/bootloader3a.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
Repeat this step until the bootable mulitpath device is on top of the list. &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivkABlxinZyInXLhrJzKf3T7fbAx2KKhTH-_PfL6oLVY2jNKaIHR4dm5EpVH14E1AIx15UI6tvobtcmW9kTzvvQ2_gIf0ZCBye8SZYWQfr79g5jhlgebi5pGL6mgxFyAQbfIhtbu4XHo61/s1600/bootloader6.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; bx=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivkABlxinZyInXLhrJzKf3T7fbAx2KKhTH-_PfL6oLVY2jNKaIHR4dm5EpVH14E1AIx15UI6tvobtcmW9kTzvvQ2_gIf0ZCBye8SZYWQfr79g5jhlgebi5pGL6mgxFyAQbfIhtbu4XHo61/s320/bootloader6.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
11. Press OK.&lt;br /&gt;
&lt;br /&gt;
12. The bootable device is now selected for boot loader install. As in the test environment, note that /dev/mapper/mpath4 is selected. &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyC1PRSeN9hA8_h3Ewxld7358cehR1J_3KwklulD1OaNT9gRtG0miYssUzAjiDohsVYsvrZ4AP9xNh5NPdsE5kiEqP19uAYmHz5WAEY2CdqqkPizx5DLNcI4VQaEvXGmJXsY5rXX9O2UkR/s1600/bootloader7.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; bx=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyC1PRSeN9hA8_h3Ewxld7358cehR1J_3KwklulD1OaNT9gRtG0miYssUzAjiDohsVYsvrZ4AP9xNh5NPdsE5kiEqP19uAYmHz5WAEY2CdqqkPizx5DLNcI4VQaEvXGmJXsY5rXX9O2UkR/s320/bootloader7.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;13.Continue and complete the installation. &lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Note: If you are a different IBM® supported multipath storage, additional steps are needed to finish the installation. See Additional multipath configuration information for IBM storage for more details.&lt;br /&gt;
&lt;br /&gt;
14. Reboot the system.&lt;br /&gt;
&lt;br /&gt;
15.Verify that the firmware boot sequence is properly configured to boot from the correct multipath device. &lt;br /&gt;
&lt;br /&gt;
In the test environment, we pressed F1 in the BIOS screen (where the IBM eServer logo appears) to go to Configuration/Setup menu. Choose Start Options and then Startup Sequence Options. Change the option to have Hard Disk 0 as the first startup device to boot from the multipath device (mpath4).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
16. Follow these steps to verify the installation was successful:&lt;br /&gt;
&lt;br /&gt;
a.Run df and cat /proc/swaps to verify that the correct partitions are in a multipath device. In the test environment, the following partitions are displayed: root, /boot, and swap as /dev/mapper/mpath4p3, /dev/mapper/mpath4p1, and /dev/mapper/mpath4p2 respectively. These partitions are installed correctly to use the Device Mapper (DM) Multipath feature of Linux®. &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3VkNXS61QcwvzdE6AgQeQ89XcMAIqUuCZHaesJKuB1MMzt6h0sj90t7GGK2AdhEnnIh-6FExxBLYlRG-_-lqiyva7nKS30UF1NJPsga3EPX_wW2uMPN5UGBa4EpSF6slRmXSbNMZdCxw1/s1600/verify_rhel.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; bx=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3VkNXS61QcwvzdE6AgQeQ89XcMAIqUuCZHaesJKuB1MMzt6h0sj90t7GGK2AdhEnnIh-6FExxBLYlRG-_-lqiyva7nKS30UF1NJPsga3EPX_wW2uMPN5UGBa4EpSF6slRmXSbNMZdCxw1/s320/verify_rhel.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;br /&gt;
b.Run multipath -ll to verify that the specific multipath device has as many paths as were configured. In the test environment, two paths are displayed, verifying that all the paths are properly configured.&lt;br /&gt;
&lt;br /&gt;
c.If installed on LVM, run dmsetup ls and demsetup table to verify that the LVM volumes are created as linear devices on top of the chosen multipath device. &lt;br /&gt;
&amp;nbsp; &lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi58mr42tz3_acqHWYi-qjsYtkKBkIbxg6rJzaqcnsGK2clAaO4Qvqm8CaMhadIziJQDHSdccqTKNXRwGdLWvrhzm90_lVMc5hqsu6s8ZKISCewps5pFJeSLgW_fK27XgUviHo8f9qWvc74/s1600/verify_rhel_lvm.gif&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; bx=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi58mr42tz3_acqHWYi-qjsYtkKBkIbxg6rJzaqcnsGK2clAaO4Qvqm8CaMhadIziJQDHSdccqTKNXRwGdLWvrhzm90_lVMc5hqsu6s8ZKISCewps5pFJeSLgW_fK27XgUviHo8f9qWvc74/s320/verify_rhel_lvm.gif&quot; /&gt;&lt;/a&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/6637971509589661023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/08/ibm-san-multipath-installation-on-red.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/6637971509589661023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/6637971509589661023'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/08/ibm-san-multipath-installation-on-red.html' title='IBM SAN Multipath installation on Red Hat Enterprise Linux 5.X'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGQKmZ093Hc4pjFy4q75b_ozYumMc_xAVGOpz_rYtmra8zadT4OOW1DPAX_cGqR5csP0aPC426CdLQSikmWWp0ziIsntZjknXYgJn7kgvNhBIyPkiIcordekSv3dTF9I3bG9lNg4O2exPv/s72-c/firmware_boot_disk_info.gif" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-8666015919039662521</id><published>2010-07-20T11:13:00.001+04:00</published><updated>2010-07-20T11:21:38.372+04:00</updated><title type='text'>25 Linux tips for Windows switchers</title><content type='html'>Don&#39;t see what all the &lt;a href=&quot;http://www.techradar.com/reviews/pc-mac/software/operating-systems/microsoft-windows-7-622923/review&quot;&gt;Windows 7&lt;/a&gt; fuss is about and thinking of jumping ship to Linux? &lt;br /&gt;
The experience of switching to Linux needn&#39;t be a traumatic one.&lt;br /&gt;
Here are 25 things you need to know that will make your transition to an open source OS easy.&lt;br /&gt;
&lt;strong&gt;The basics&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;1. What&#39;s a distribution?&lt;/strong&gt;&lt;br /&gt;
Linux isn&#39;t sold as a single package like Windows or MacOS. There are lots of variations on the basic operating system put together by different people for different reasons.&lt;br /&gt;
Some might be hardware specific - designed to run on netbooks, for example - while some might be tailored towards particular uses, like general desktops, webservers or multimedia workstations.&lt;br /&gt;
Think of them as like the different versions of Vista, but with many more apps in each package. Each of these different bundles is called a &#39;distribution&#39;.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.techradar.com/news/software/operating-systems/the-pain-free-guide-to-switching-linux-distros-478667&quot;&gt;The pain-free guide to switching Linux distros&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;strong&gt;2. How are they different?&lt;/strong&gt;&lt;br /&gt;
The most obvious &lt;a href=&quot;http://www.techradar.com/news/software/operating-systems/the-14-best-linux-distros-465771&quot;&gt;differences between distributions&lt;/a&gt; are the number and type of applications that come pre-installed. Under the hood, they may use a different technique for managing sound playback, too.&lt;br /&gt;
Not all distributions will use the same versions of core system files either, rather the ones they&#39;ve tested and are most likely to work with the other programs in the package.&lt;br /&gt;
&lt;strong&gt;3. Which distribution should I choose?&lt;/strong&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.ubuntu.com/&quot;&gt;Ubuntu&lt;/a&gt; is by far the most popular distribution for beginners, but most of the big names - &lt;a href=&quot;http://www.opensuse.org/&quot;&gt;OpenSuse&lt;/a&gt;, &lt;a href=&quot;http://www.fedoraproject.org/&quot;&gt;Fedora&lt;/a&gt; and so on - are just as approachable and have their strengths. &lt;a href=&quot;http://www.mandriva.com/&quot;&gt;Mandriva&lt;/a&gt; works well when syncing with Windows Mobile, for example.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.techradar.com/news/software/operating-systems/50-handy-ubuntu-time-saving-tips-482714&quot;&gt;50 handy Ubuntu time-saving tips&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;strong&gt;4. Understand desktop environments&lt;/strong&gt;&lt;br /&gt;
The familiar windowed desktop of any operating system is simply a layer on top of the core code that makes it easier for you to interact with your computer. Because Linux is highly modular, this desktop environment is easily separated from the core operating system, and you can choose one from several options.&lt;br /&gt;
Most popular distributions will give you a choice of desktop environment, while smaller ones, like &lt;a href=&quot;http://www.linuxmint.com/&quot;&gt;Mint&lt;/a&gt;, may only come in one flavour.&lt;br /&gt;
&lt;strong&gt;5. Which is best for Windows&#39; switchers?&lt;/strong&gt;&lt;br /&gt;
&lt;a href=&quot;http://gnome.org/&quot;&gt;Gnome&lt;/a&gt; and &lt;a href=&quot;http://kde.org/&quot;&gt;KDE&lt;/a&gt; are the closest to Vista or OS X, and most people will find Gnome easier to pick up. Others, life XFCE or LXDE are designed to run quickly on low end systems.&lt;br /&gt;
oDon&#39;t worry too much, though. The great thing about Linux is you want to try a different desktop manager without reinstalling your OS, you can. In fact, you can have several different ones on the same machine to choose from at login.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;Best Linux distros for power users, gamers, newbies and more&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1QPf_YdzlGvGDDvH_-USmTY1cHDsXeTF1gOto8Mwje18LwilXCBX9iyVgT_V_pDRK9dkoMdEW946GTYLg8yC2r2nsmdmX23E69GdOnyWp5-dNjQg1VkMiT3frRUdMU6VM4sPSUGLHDCoS/s1600/compiz-420-90.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; hw=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1QPf_YdzlGvGDDvH_-USmTY1cHDsXeTF1gOto8Mwje18LwilXCBX9iyVgT_V_pDRK9dkoMdEW946GTYLg8yC2r2nsmdmX23E69GdOnyWp5-dNjQg1VkMiT3frRUdMU6VM4sPSUGLHDCoS/s320/compiz-420-90.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;strong&gt;IN CONTROL:&lt;/strong&gt; &lt;em&gt;Whichever desktop environment you use, you have an incredible amount of control over the way it looks and behaves&lt;/em&gt;&lt;br /&gt;
&lt;strong&gt;Installation&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;6. Live CDs &lt;/strong&gt;&lt;br /&gt;
Once you&#39;ve decided which distribution you&#39;d like to try, download the installation file (usually a &lt;a href=&quot;http://en.wikipedia.org/wiki/ISO_image//%20disk%20image&quot;&gt;.iso file&lt;/a&gt;) and burn it to CD or DVD. With many distributions, booting from that disc will give you the option to try a &#39;live version&#39;. This lets you boot into a Linux desktop without altering your current hard drive.&lt;br /&gt;
&lt;strong&gt;7. Look elsewhere&lt;/strong&gt;&lt;br /&gt;
Don&#39;t forget, though, that the Live version will have its limitations. Before you discard a distribution for looking dull, run a few searches to see if it can be spruced up. Remember, most distributions are designed for maximum hardware compatibility. Your PC can almost certain handle better desktop effects, for example.&lt;br /&gt;
&lt;strong&gt;8. Putting Linux on your PC&lt;/strong&gt;&lt;br /&gt;
If you&#39;ve never installed an operating system before, it can be quite daunting. Don&#39;t fear, though, it&#39;s a straightforward operating and the big distributions have excellent documentation for first timers, like this how-to at &lt;a href=&quot;https://help.ubuntu.com/9.04/installation-guide/amd64/index.html&quot;&gt;Ubuntu&lt;/a&gt;.&lt;br /&gt;
&lt;strong&gt;9. Keep the Windows open&lt;/strong&gt;&lt;br /&gt;
The easiest way to install a distribution would be to wipe your PC clean and start over. You may want to keep your existing Windows installation, though, to run applications like games that don&#39;t work so well in Linux.&lt;br /&gt;
Most installation processes will guide you through setting up a dual boot system, with two or more operating systems on. You will need a separate hard drive or partition for each, though.&lt;br /&gt;
&lt;br /&gt;
&lt;/img&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBOqsjQT1LrVYOeu0l9cbySRTm6FFb-zLNjy3-A_D4GhG_GJuGlrv3mlV3Ut68Ye2q57Vh1Q8FXFWTQyy1SYRD-pgwWfH3NYlxro9IDPuXOFoBdjmhkpBgAVKkyHW2Df5WwSVBPmrvacPH/s1600/synaptic-420-90.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; hw=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBOqsjQT1LrVYOeu0l9cbySRTm6FFb-zLNjy3-A_D4GhG_GJuGlrv3mlV3Ut68Ye2q57Vh1Q8FXFWTQyy1SYRD-pgwWfH3NYlxro9IDPuXOFoBdjmhkpBgAVKkyHW2Df5WwSVBPmrvacPH/s320/synaptic-420-90.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;strong&gt;PACKAGE MANAGER: &lt;/strong&gt;&lt;em&gt;Synaptic is a popular package manager for Debian-based distributions, like Ubuntu&lt;/em&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Finding your way around&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;10. Getting to grips with the file system&lt;/strong&gt;&lt;br /&gt;
Navigating the C: drive in Windows is second nature to most people. Opening a file browser in Linux can be a shock. Instead of a few neatly named folders like Program Files, there are several obscure ones with names like &quot;etc&quot; and &quot;opt&quot; whose contents appear to be the same. &lt;br /&gt;
Linux programs spread bits of themselves around in each of these folders, and while it&#39;s logical to the trained eye, it takes experience to understand. Take the easy option - don&#39;t worry about it any more than you would the contents of C:\Windows.&lt;br /&gt;
&lt;strong&gt;11. Stay in your Home&lt;/strong&gt;&lt;br /&gt;
All your important files, like documents, music and video, are kept in a separate partition called the Home partition. Each username you create has their own password protected area within Home, so you can set one up for everyone in your household.&lt;br /&gt;
&lt;strong&gt;12. Understanding Root &lt;/strong&gt;&lt;br /&gt;
Just like Windows, there are two types of user accounts - administrator and normal. The administrator in Linux is called &#39;Root&#39;, and system files are locked for ordinary users to edit. If you ever try to edit a document and find it can&#39;t be saved, or a folder can&#39;t be copied, it&#39;s probably locked for Root access too.&lt;br /&gt;
&lt;strong&gt;13. Become a superuser&lt;/strong&gt;&lt;br /&gt;
Anyone can temporarily be elevated to the position of Superuser, allowing them to perform operations restricted to root. This is done by opening a terminal and starting a command with the prefix &quot;sudo&quot; or &quot;su&quot;, depending on your distribution. You&#39;ll then be prompted for the adminstrator password, which will allow the command to be completed.&lt;br /&gt;
&lt;strong&gt;14. Don&#39;t be afraid of the terminal&lt;/strong&gt;&lt;br /&gt;
It&#39;s one of those words that scares off the non-geek, but a terminal is simply a program that lets you enter commands as text, rather than mouse clicks.&lt;br /&gt;
Because of the Linux file structure, it&#39;s simply quicker for many expert users to use the terminal rather than the file browser to do stuff. One day you might feel the same way, honest.&lt;br /&gt;
&lt;strong&gt;15. Open file manager as Root&lt;/strong&gt;&lt;br /&gt;
If you prefer the familiarity of a graphical user interface, though, you can use the terminal to open your file manager with administrator access, to move locked folders or edit locked text files.&lt;br /&gt;
If you&#39;re using Gnome, just enter &#39;sudo nautilus&#39; in the terminal and an empowered file manager will appear. Remember there&#39;s no restrictions to stop you irrevocably damaging your system, though.&lt;br /&gt;
&lt;strong&gt;16. Installing new programs&lt;/strong&gt;&lt;br /&gt;
Unlike Windows or OS X, most Linux distributions come with a graphics editor, office suite, messenger software and so on pre-installed, and getting new programs is simple.&lt;br /&gt;
In your main menu you&#39;ll find a &lt;br /&gt;
&quot;package manager&quot;, usually &lt;a href=&quot;http://www.nongnu.org/synaptic&quot;&gt;Synaptic&lt;/a&gt; or &lt;a href=&quot;http://yum.baseurl.org/&quot;&gt;Yum&lt;/a&gt;, which lists all the files currently installed on your PC, along with ones you can download for free.&lt;br /&gt;
&lt;strong&gt;17. Learn about repositories&lt;/strong&gt;&lt;br /&gt;
The package manager gets these software lists from repositories, which are FTP servers full of free software maintained by Linux advocates or organisations. You can add new ones in the Software Sources section of the start menu.&lt;br /&gt;
&lt;strong&gt;18. Don&#39;t always update&lt;/strong&gt;&lt;br /&gt;
The package manager will cross reference software you have installed with the version in your listed repositories to see if you&#39;re running the latest build. You don&#39;t have to update programs when the update manager warns you, though. Remember, with Linux, you&#39;re in control.&lt;br /&gt;
&lt;/img&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIR45qd01WXnjtQEnCnVCiRMo8B1jq6cdm1h-MT25SRNBRoGbJv6EOVAggKfOSGGofgTbGRTF4ivNtmIlB5Y9tA5jSAn0pZYQlsCpMOESVuE3_gLtrzhsCkadadIInYcBVUh_aRuInd0i0/s1600/openoffice-420-90.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; hw=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIR45qd01WXnjtQEnCnVCiRMo8B1jq6cdm1h-MT25SRNBRoGbJv6EOVAggKfOSGGofgTbGRTF4ivNtmIlB5Y9tA5jSAn0pZYQlsCpMOESVuE3_gLtrzhsCkadadIInYcBVUh_aRuInd0i0/s320/openoffice-420-90.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; clear: both; text-align: center;&quot;&gt;&lt;strong&gt;EASY OFFICE:&lt;/strong&gt; &lt;em&gt;OpenOffice is a complete office suite which is also available for Windows. It looks a bit old fashioned, but will read and save Microsoft Office 2007 files&lt;/em&gt;&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;strong&gt;Troubleshooting&lt;/strong&gt;&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;strong&gt;19. Fix display problems&lt;/strong&gt;&lt;br /&gt;
If you&#39;re getting strange screen artefacts, like text and cursors vanishing in OpenOffice or your mail client, and are using an Nvidia or AMD graphics card, it&#39;s worth going to the manufacturers&#39; website to see if newer Linux drivers are available.&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;strong&gt;20. Manually installing drivers&lt;/strong&gt;&lt;br /&gt;
Unlike Windows, you may never need to install a device driver on your Linux system. Most hardware is supported straight from the kernel. Manually installing drivers in Linux can be tough, though, even when the process is well documented. It&#39;s a good idea to print off the readme file before you get started.&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;strong&gt;21. Drivers or programs don&#39;t work?&lt;/strong&gt;&lt;br /&gt;
Upgrading core kernel files with &quot;header&quot; in their name will likely break any manually installed graphics drivers and some programs too. The fix is simple - just reinstall them.&lt;/div&gt;&lt;strong&gt;22. Recovery mode&lt;/strong&gt;&lt;br /&gt;
Most distributions have a recovery mode of some sort available at the first menu screen to help you sort out problems with an operating system that refuses to boot. Ubuntu scores highly in this regard, because it has an option to easily reset the graphics system, often a cause of problems.&lt;br /&gt;
&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;strong&gt;23. Look before you ask&lt;/strong&gt;&lt;br /&gt;
The helpfulness of the Ubuntu forums - and indeed most Linux forums - when it comes to helping newbies out is legendary. Don&#39;t just log in and start asking, though, run a few searches for the problems you&#39;re encountering first.&lt;/div&gt;In the unlikely event a walkthrough doesn&#39;t already exist with a solution, you&#39;ll get a better idea of how to phrase your question so everyone understands you first time.&lt;br /&gt;
&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;strong&gt;24. Keep notes&lt;/strong&gt;&lt;br /&gt;
The web is full of really useful Linux walkthroughs that can give you PC superpowers just by cutting and pasting a few lines into a terminal. Sometimes, these walkthroughs won&#39;t work. It&#39;s a good idea to keep track of changes you&#39;ve made in case you need to go back and fix stuff later.&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;strong&gt;25. Get Wine&lt;/strong&gt;&lt;br /&gt;
There are some Windows programs you may find you simply can&#39;t do without. Spotify, Evernote, World of Warcraft, Left4Dead perhaps? &lt;a href=&quot;http://www.winehq.org/&quot;&gt;Wine&lt;/a&gt; adds libraries to get most Windows apps running in Linux.&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;strong&gt;And finally...&lt;/strong&gt;&lt;br /&gt;
Get creative with the look and feel of your desktop. You can tweak anything you want about the look, from the position of panels and menus to adding an OS X-like dock. There are loads of themes to get you started at &lt;a href=&quot;http://opendesktop.org/&quot;&gt;opendesktop.org&lt;/a&gt;, just click on the artwork tab at the top.&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEMi7_XyEn4N5Y2HY8GGBSKc_4WGUArr6rDn6QdCEQ9W1hbNBtknLOoO6B7iZQFfrCsZckvTfBzkOTwcVs3dD79nPWgzfpdL85tDjsrvZB2RbRNiD6cS_9FZKUr8byph-_ISJfCj0ZzolA/s1600/applications-420-90.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; hw=&quot;true&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEMi7_XyEn4N5Y2HY8GGBSKc_4WGUArr6rDn6QdCEQ9W1hbNBtknLOoO6B7iZQFfrCsZckvTfBzkOTwcVs3dD79nPWgzfpdL85tDjsrvZB2RbRNiD6cS_9FZKUr8byph-_ISJfCj0ZzolA/s320/applications-420-90.jpg&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;strong&gt;PLENTY OF APPS: &lt;/strong&gt;&lt;em&gt;There are few types of app which Linux doesn&#39;t have a program capable of matching a Windows peer. Accounting programs are about the only thing that&#39;s thin on the ground&lt;/em&gt;&lt;/div&gt;&lt;div class=&quot;webonly&quot; style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;-------------------------------------------------------------------------------------------------------&lt;/div&gt;&lt;div class=&quot;webonly&quot; style=&quot;border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/8666015919039662521/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/07/25-linux-tips-for-windows-switchers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/8666015919039662521'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/8666015919039662521'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/07/25-linux-tips-for-windows-switchers.html' title='25 Linux tips for Windows switchers'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1QPf_YdzlGvGDDvH_-USmTY1cHDsXeTF1gOto8Mwje18LwilXCBX9iyVgT_V_pDRK9dkoMdEW946GTYLg8yC2r2nsmdmX23E69GdOnyWp5-dNjQg1VkMiT3frRUdMU6VM4sPSUGLHDCoS/s72-c/compiz-420-90.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-2244424066150020794</id><published>2010-07-20T10:54:00.000+04:00</published><updated>2010-07-20T10:54:49.735+04:00</updated><title type='text'>VIM Faster Navigation</title><content type='html'>Sometimes even the simplest of tasks like navigating through a single file can be optimized. Vim offers several methods of navigation within a file, which can adapt to the contents of the file and how it is organized. Some of these methods are obvious, while others are more complex.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mostly, the files we are editing are well structured. If our files are text, then this structure can be in the form of paragraphs, sentences, and words, or at other times code with functions, blocks, and code lines.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Vim supports jumping around the file, according to the structure in the file, and has key bindings that make it easy to go to the exact place in the file where you want to go.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Moving within a text file &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You are working on a normal text file and in the middle of a sentence you realize that you have forgotten to make the first letter in the paragraphs uppercase. You could of course, use the arrow-keys or the h/j/k/l navigation keys to move to the beginning of the paragraph to correct this. It would, however, be faster to just press the following in normal mode:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{&lt;br /&gt;
&lt;br /&gt;
You are now placed at the beginning of the paragraph—or in the empty line just above it (if one exists). Now, you go into normal mode by pressing the Esc key and then use the movement command { to go to the beginning of the paragraph. The same can be applied if you want to go back to the end of the paragraph—you simply have to use the counterpart of {, namely:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Again, Vim helps you move faster and offers you a pair of commands to move to the beginning and end of the current sentence. The commands are as follows:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
( : Move to the beginning of the sentence.&lt;br /&gt;
&lt;br /&gt;
) : Move to the end of the sentence.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
w : Move to the beginning of the next word.&lt;br /&gt;
&lt;br /&gt;
b : Move to the beginning of the previous word.&lt;br /&gt;
&lt;br /&gt;
e : Move to the end of the word.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These commands can be combined such that if you want to go to the end of the next word you simply press:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
we&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Moving in a Code file&lt;br /&gt;
&lt;br /&gt;
Compared to text files, code does not have any paragraphs or sentences to navigate through. It does, however, frequently contain a lot of structures and blocks, each of which has a very specific contextual meaning within the code. An example could be the simple code block:&lt;br /&gt;
&lt;br /&gt;
If( a == b) {&lt;br /&gt;
&lt;br /&gt;
print &quot;a and b are the same&quot;;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
Here the line with print is within the context of the if block surrounding it.&lt;br /&gt;
&lt;br /&gt;
Because Vim is the favorite editor of many programmers, it offers a lot of movement commands to use when you are working with code. Common for all of them is that the parts of the code you want to jump between need to have a contextual connection to each other.&lt;br /&gt;
&lt;br /&gt;
A simple example could be a construction like the #if-#else-#endif construction from the C programming language. Here we have a beginning (#if), an end (#endif) and a midpoint (#else).&lt;br /&gt;
&lt;br /&gt;
So if you are in the line with #if and press the following command:&lt;br /&gt;
&lt;br /&gt;
%&lt;br /&gt;
&lt;br /&gt;
you will go to the #else part. Pressing it again, will take you to the #endif, and yet another execution of the command will get you back to the #if.&lt;br /&gt;
&lt;br /&gt;
Vim does not know all programming language constructs, but by default it knows most of the contextual constructs of the C programming language. Besides this, it knows the normal block construction methods from most programming languages—the use of parentheses and brackets (for example, &#39;{&#39; is block start and &#39;}&#39; is block end).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So for Vim to find the beginning of the function, it simply has to find the outermost bracket pair and then go to the&lt;br /&gt;
&lt;br /&gt;
opening bracket.&lt;br /&gt;
&lt;br /&gt;
function myExample() {&lt;br /&gt;
&lt;br /&gt;
...many lines of code...&lt;br /&gt;
&lt;br /&gt;
/* cursor is placed at the beginning of this line */&lt;br /&gt;
&lt;br /&gt;
...many lines of code...&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
In the above example, the % command would take us to the closing bracket and pressing it again would take us to the opening bracket. But what if the cursor was actually placed inside another pair of brackets? In that case, the % command would only move the cursor to them, and not the beginning of the function.&lt;br /&gt;
&lt;br /&gt;
Again Vim has some handy commands for you:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[ and ][ : Move backwards/forward to the next section beginning (e.g., start of a function)&lt;br /&gt;
&lt;br /&gt;
[] and ]] : Move backwards/forward to the next section end (e.g., end of a function)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Executing these commands multiple times in a row takes you to the beginning/end of the next/previous section, and therefore gives you a convenient way of cycling through the functions in a file.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[{ : Move to the beginning of the block&lt;br /&gt;
&lt;br /&gt;
]} : Move to the end of the block&lt;br /&gt;
&lt;br /&gt;
[/ : Move to the beginning of the comment block&lt;br /&gt;
&lt;br /&gt;
]/ : Move to the end of the comment block</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/2244424066150020794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/07/vim-faster-navigation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/2244424066150020794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/2244424066150020794'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/07/vim-faster-navigation.html' title='VIM Faster Navigation'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-6467435894457579227</id><published>2010-07-20T10:51:00.000+04:00</published><updated>2010-07-20T10:51:07.665+04:00</updated><title type='text'>Boot up ubuntu faste</title><content type='html'>Ubuntu reached the 10 second boot time with Lucid Lynx. what if your system isn’t quite reaching that point?&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can speed it up using profiling option. To do this follow these steps: &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1.At your boot screen press “e” (for edit).&lt;br /&gt;
&lt;br /&gt;
2.Use your arrow key and move down to the entry beginning with “kernel”.&lt;br /&gt;
&lt;br /&gt;
3.Press “e” again.&lt;br /&gt;
&lt;br /&gt;
4.Add “profile” (no quotes) at the end of this line.&lt;br /&gt;
&lt;br /&gt;
5.Hit Enter.&lt;br /&gt;
&lt;br /&gt;
6.Click “b” (for boot).&lt;br /&gt;
&lt;br /&gt;
The firs time you boot with profile it will take a little longer. What this is doing is profiling your boot process so it knows what files are accessed and then sorts them according to how they are stored on your drive. Your next boot should be considerably faster.</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/6467435894457579227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/07/boot-up-ubuntu-faste.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/6467435894457579227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/6467435894457579227'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/07/boot-up-ubuntu-faste.html' title='Boot up ubuntu faste'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-6834812666290590895</id><published>2010-07-20T09:50:00.000+04:00</published><updated>2010-07-20T09:50:26.476+04:00</updated><title type='text'>How To Display / Delete IP Route Cache on Linux</title><content type='html'>&lt;h2&gt;How to display the route cache&lt;/h2&gt;&lt;strong&gt;ip route show cache&lt;/strong&gt;&lt;br /&gt;
A sample entry from the list is:&lt;br /&gt;
&lt;br /&gt;
217.212.227.18 from 172.16.0.69 via 192.168.0.1 dev eth2 src 172.16.0.50&lt;br /&gt;
&lt;br /&gt;
cache &lt;src -direct=&quot;&quot;&gt;mtu 1500 advmss 1460 hoplimit 64 iif eth0&lt;br /&gt;
This tells us that all requests from 172.16.0.69 (my machine&#39;s IP) to 217.212.227.18 (Akamai machine) gets routed via eth2 interface using the gateway 192.168.0.1 (Tata Indicom Broadband).&lt;br /&gt;
&lt;h2&gt;How to delete the route cache&lt;/h2&gt;&lt;strong&gt;ip route flush cache&lt;/strong&gt;&lt;/src&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/6834812666290590895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/07/how-to-display-delete-ip-route-cache-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/6834812666290590895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/6834812666290590895'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/07/how-to-display-delete-ip-route-cache-on.html' title='How To Display / Delete IP Route Cache on Linux'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-4784760493598559455</id><published>2010-07-20T09:46:00.000+04:00</published><updated>2010-07-20T09:46:38.620+04:00</updated><title type='text'>How To: Load Balancing &amp; Failover With Dual/ Multi WAN / ADSL / Cable Connections on Linux</title><content type='html'>&lt;h2&gt;Requirements for Load Balancing multiple ADSL / Cable Connections&lt;/h2&gt;1. Obviously you need to have multiple (A)DSL or Cable connections in the first place. Login as root for this job.&lt;br /&gt;
2. Find out the LAN / internal IP address of the modems. They may be same like 1921.168.1.1.&lt;br /&gt;
&lt;br /&gt;
Check if the internal / LAN IP address of both (or multiple) modems are same. In that use the web / telnet interface of the modems to configure one of the modems to have a different internal IP address preferably in different networks like 192.168.0.1 or 192.168.2.1 etc. If you are using multiple modems then you should configure each of them to have different subnets. This is important because now you can easily access the different modems from their web interface and you don&#39;t have to bother connecting to a modem through a particular interface. It is also important because now you can easily configure the interfaces to be associated with different netmasks / sub-network.&lt;br /&gt;
3. Connect each modem to the computer using a different interface (eth0, eth1 etc.). You may be able to use the same interface but this guide doesn&#39;t cover that. In short you will make your life complicated using the same interface or even different virtual interface. My recommendation is that you should use one interface per modem. Don&#39;t scrimp on cheap ethernet adapters. This has the added benefit of redundancy should one adapter go bad down the road.&lt;br /&gt;
4. Configure the IP address of each interface to be in the same sub-network as the modem. For example my modems have IP addresses of 192.168.0.1 and 192.168.1.1. The corresponding addresses &amp;amp; netmasks of the interfaces are: 192.168.0.10 (netmask: 255.255.255.0) and 192.168.1.10 (netmask: 255.255.255.0).&lt;br /&gt;
5. Find out the following information before you proceed with the rest of the guide:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;IP address of external interfaces (interfaces connected to your modems). This is not the gateway address.&lt;/li&gt;
&lt;li&gt;Gateway IP address of each broadband connections. This is the first hop gateway, could be your DSL modem IP address if it has been configured as the gateway following the tip below.&lt;/li&gt;
&lt;li&gt;Name, IP address &amp;amp; netmask of external interfaces like eth1, eth2 etc. My external interfaces are eth1 &amp;amp; eth2.&lt;/li&gt;
&lt;li&gt;Relative weights you want to assign to each connection. My Tata connection is 4 times faster than BSNL connection. So I assign the weight of 4 to Tata and 1 to BSNL. You must use low positive integer values for weights. For same connection speeds weights of 1 &amp;amp; 1 are appropriate. The weights determine how the load is balanced across multiple connections. In my case Tata is 4 times as likely to be used as route for a particular site in comparison with BSNL.&lt;/li&gt;
&lt;/ol&gt;Note: Refer to &lt;a href=&quot;http://blog.taragana.com/index.php/archive/network-masks-netmasks-for-dummies/&quot;&gt;Netmask guide&lt;/a&gt; for details on netmasks.&lt;br /&gt;
&lt;i&gt;Optional step&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Check the &lt;a href=&quot;http://blog.taragana.com/index.php/archive/tips-on-configuring-adsl-modems-2/&quot;&gt;tips on configuring (A)DSL modems&lt;/a&gt;. They are not required for using this guide. However they are beneficial in maximizing your benefits.&lt;br /&gt;
&lt;h2&gt;How to setup default load balancing for multiple ADSL / Cable connections&lt;/h2&gt;Unlike other guides on this topic I will use a real example - the configuration on our internal network. So to begin with here are the basic data for my network:&lt;br /&gt;
&lt;blockquote&gt;#IP address of external interfaces. This is not the gateway address.&lt;br /&gt;
&lt;br /&gt;
IP1=192.168.1.10&lt;br /&gt;
&lt;br /&gt;
IP2=192.168.0.10&lt;br /&gt;
#Gateway IP addresses. This is the first (hop) gateway, could be your router IP&lt;br /&gt;
&lt;br /&gt;
#address if it has been configured as the gateway&lt;br /&gt;
&lt;br /&gt;
GW1=192.168.1.1&lt;br /&gt;
&lt;br /&gt;
GW2=192.168.0.1&lt;br /&gt;
# Relative weights of routes. Keep this to a low integer value. I am using 4&lt;br /&gt;
&lt;br /&gt;
# for TATA connection because it is 4 times faster&lt;br /&gt;
&lt;br /&gt;
W1=1&lt;br /&gt;
&lt;br /&gt;
W2=4&lt;br /&gt;
# Broadband providers name; use your own names here.&lt;br /&gt;
&lt;br /&gt;
NAME1=bsnl&lt;br /&gt;
&lt;br /&gt;
NAME2=tata&lt;/blockquote&gt;You must change the example below to use your own IP addresses and other details. Even with that inconvenience a real example is much easier to understand than examples with complex notations. The example given below is copy-pasted from our intranet configuration. It works perfectly as advertised.&lt;br /&gt;
Note: In this step fail-over is not addressed. It is provided later with a script which runs on startup.&lt;br /&gt;
First you need to create two (or more) routes in the routing table ( /etc/iproute2/rt_tables ). Open the file and make changes similar to what is show below. I added the following for my two connections:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;br /&gt;
1 bsnl&lt;br /&gt;
&lt;br /&gt;
2 tata&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
To add a default load balancing route for our outgoing traffic using our dual internet connections (ADSL broadband connections from BSNL &amp;amp; Tata Indicom) here are the lines I included in rc.local file:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;&lt;br /&gt;
&lt;br /&gt;
ip route add 192.168.1.0/24 dev eth1 src 192.168.1.10 table bsnl&lt;br /&gt;
&lt;br /&gt;
ip route add default via 192.168.1.1 table bsnl&lt;br /&gt;
&lt;br /&gt;
ip route add 192.168.0.0/24 dev eth2 src 192.168.0.10 table tata&lt;br /&gt;
&lt;br /&gt;
ip route add default via 192.168.0.1 table tata&lt;br /&gt;
&lt;br /&gt;
ip rule add from 192.168.1.10 table bsnl&lt;br /&gt;
&lt;br /&gt;
ip rule add from 192.168.0.10 table tata&lt;br /&gt;
&lt;br /&gt;
ip route add default scope global nexthop via 192.168.1.1 dev eth1 weight 1 nexthop via 192.168.0.1 dev eth2 weight 4&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
Adding them to rc.local ensures that they are execute automatically on startup. You can also run them manually from the command line.&lt;br /&gt;
This completes the load balancing part. Let&#39;s now see how we can achieve fail-over so the routes are automatically changed when one or more connections are down and then changed again when one or more more connections come back up again. To do this magic I used a script.&lt;br /&gt;
&lt;h2&gt;How to setup fail-over over multiple load balanced ADSL / Cable connections&lt;/h2&gt;Please follow the steps below and preferably in the same order:&lt;br /&gt;
&lt;ol&gt;&lt;li&gt;First &lt;a href=&quot;http://blog.taragana.com/wp-content/upload/gwping&quot;&gt;download the script&lt;/a&gt; which checks for and provides &lt;a href=&quot;http://blog.taragana.com/wp-content/upload/gwping&quot;&gt;fail-over over dual ADSL / Cable internet connections&lt;/a&gt; and save it to /usr/sbin directory (or any other directory which is mounted available while loading the OS).&lt;/li&gt;
&lt;li&gt;Change the file permissions to 755:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;chmod 755 /usr/sbin/gwping&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Open the file (as root) in an editor like vi or gedit and edit the following parameters for your environment:&lt;br /&gt;
&lt;br /&gt;
&lt;blockquote&gt;#IP Address or domain name to ping. The script relies on the domain being pingable and always available&lt;br /&gt;
&lt;br /&gt;
TESTIP=www.yahoo.com&lt;br /&gt;
#Ping timeout in seconds&lt;br /&gt;
&lt;br /&gt;
TIMEOUT=2&lt;br /&gt;
# External interfaces&lt;br /&gt;
&lt;br /&gt;
EXTIF1=eth1&lt;br /&gt;
&lt;br /&gt;
EXTIF2=eth2&lt;br /&gt;
#IP address of external interfaces. This is not the gateway address.&lt;br /&gt;
&lt;br /&gt;
IP1=192.168.1.10&lt;br /&gt;
&lt;br /&gt;
IP2=192.168.0.10&lt;br /&gt;
#Gateway IP addresses. This is the first (hop) gateway, could be your router IP&lt;br /&gt;
&lt;br /&gt;
#address if it has been configured as the gateway&lt;br /&gt;
&lt;br /&gt;
GW1=192.168.1.1&lt;br /&gt;
&lt;br /&gt;
GW2=192.168.0.1&lt;br /&gt;
# Relative weights of routes. Keep this to a low integer value. I am using 4&lt;br /&gt;
&lt;br /&gt;
# for TATA connection because it is 4 times faster&lt;br /&gt;
&lt;br /&gt;
W1=1&lt;br /&gt;
&lt;br /&gt;
W2=4&lt;br /&gt;
# Broadband providers name; use your own names here.&lt;br /&gt;
&lt;br /&gt;
NAME1=BSNL&lt;br /&gt;
&lt;br /&gt;
NAME2=TATA&lt;br /&gt;
#No of repeats of success or failure before changing status of connection&lt;br /&gt;
&lt;br /&gt;
SUCCESSREPEATCOUNT=4&lt;br /&gt;
&lt;br /&gt;
FAILUREREPEATCOUNT=1&lt;/blockquote&gt;Note: Four consecutive success indicates that the gateway is up and one (consecutive) failure indicates that the gateway went down for my environment. You may want to modify it to better match your environment. &lt;br /&gt;
&lt;/li&gt;
&lt;li&gt;Add the following line to the end of /etc/rc.local file:&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;nohup /usr/sbin/gwping &amp;amp;&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;In the end my /etc/rc.local file has the following lines added in total:&lt;br /&gt;
&lt;blockquote&gt;ip route add 192.168.1.0/24 dev eth1 src 192.168.1.10 table bsnl&lt;br /&gt;
&lt;br /&gt;
ip route add default via 192.168.1.1 table bsnl&lt;br /&gt;
&lt;br /&gt;
ip route add 192.168.0.0/24 dev eth2 src 192.168.0.10 table tata&lt;br /&gt;
&lt;br /&gt;
ip route add default via 192.168.0.1 table tata&lt;br /&gt;
&lt;br /&gt;
ip rule add from 192.168.1.10 table bsnl&lt;br /&gt;
&lt;br /&gt;
ip rule add from 192.168.0.10 table tata&lt;br /&gt;
&lt;br /&gt;
ip route add default scope global nexthop via 192.168.1.1 dev eth1 weight 1 nexthop via 192.168.0.1 dev eth2 weight 4&lt;br /&gt;
&lt;br /&gt;
nohup /usr/sbin/gwping &amp;amp;&lt;/blockquote&gt;An astute reader may note that the default setup with dual load balanced routing (7th line) is really not required as the script is configured to force routing based on the current status the very first time. However it is there to ensure proper routing before the script forces the routing for the first time which is about 40 seconds in my setup (can you tell why it takes 40 second for the first time?).</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/4784760493598559455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/07/how-to-load-balancing-failover-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/4784760493598559455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/4784760493598559455'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/07/how-to-load-balancing-failover-with.html' title='How To: Load Balancing &amp; Failover With Dual/ Multi WAN / ADSL / Cable Connections on Linux'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-5497692129764096387</id><published>2010-05-11T17:28:00.001+04:00</published><updated>2010-05-11T17:30:22.248+04:00</updated><title type='text'>Six Linux softphone&#39;s list</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;/div&gt;VoIP has improved a lot since its first days, today a lot of multinational business are using it as a reliable way to keep stay in touch.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
With more and more telecommuters, and business man working, and with cell phone roaming costs still high, VoIP is a real option for both big and small corporations.&lt;br /&gt;
&lt;br /&gt;
And when you talk to a CFO about investing to save costs, you usually will see the checkered flag for your project.&lt;br /&gt;
&lt;br /&gt;
Most of these projects will involve IP phones or ATAs, but you may use softphones too, which are very convenient for the traveler guy, here we will review some of the soft phones available for Linux.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Linphone&lt;br /&gt;
&lt;br /&gt;
Linphone is a mature piece of software, it uses SIP, for voice and video over IP, it can work as a stand alone application, and you can call other sip enabled devices just entering its ips on the dial window of Linphone, or you can configure it to use an Asterisk PBX.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlZTfL1YjwE2M74jDUdpaDQo0opdtlzzJCKGjtPbCTyXHO1ocBFEjLrhafHZDKP4u0AoxJht4oEhyphenhyphentgTea0WJ8425EV8pWYbOjP-VJY76XqOHeNhyVWREXvCmDLoLxPFGF200u-nE7w3_K/s1600/linphone.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlZTfL1YjwE2M74jDUdpaDQo0opdtlzzJCKGjtPbCTyXHO1ocBFEjLrhafHZDKP4u0AoxJht4oEhyphenhyphentgTea0WJ8425EV8pWYbOjP-VJY76XqOHeNhyVWREXvCmDLoLxPFGF200u-nE7w3_K/s320/linphone.jpg&quot; tt=&quot;true&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;There are binary packages for the most common distros, so try to install it using you package manager. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Ekiga&lt;br /&gt;
&lt;br /&gt;
Ekiga, is the softphone for Gnome Desktop, it supports both SIP and H.323, also has support for webcams if you kernel recognize yours.&lt;br /&gt;
&lt;br /&gt;
As with Linphone you may use Ekiga standalone, or with a softswitch, you can also create an account using the Ekiga configuration druid, but over all, it is a great soft phone to be used with Asterisk.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5EmsaB4hk-dp5f3nNW82BZk7zk1twTYgwowboh6LpdM9X0tykvE-NhysRFM3cl5ApfOHw9vR5XRd5pPV-IwotSX45S2J3pw4Ja5o_4yBwYkRu5zgYA7geo1s3TuWgQwGw7hTJiBjqhe4L/s1600/ekiga_3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5EmsaB4hk-dp5f3nNW82BZk7zk1twTYgwowboh6LpdM9X0tykvE-NhysRFM3cl5ApfOHw9vR5XRd5pPV-IwotSX45S2J3pw4Ja5o_4yBwYkRu5zgYA7geo1s3TuWgQwGw7hTJiBjqhe4L/s320/ekiga_3.png&quot; tt=&quot;true&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;Here is a screencast to learn how to configure it, to work with Asterisk.&lt;/div&gt;&lt;br /&gt;
&lt;object height=&quot;405&quot; width=&quot;500&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/o9LJzl2MLtg&amp;hl=en&amp;fs=1&amp;rel=0&amp;color1=0x006699&amp;color2=0x54abd6&amp;border=1&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot; /&gt;&lt;embed src=&quot;http://www.youtube.com/v/o9LJzl2MLtg&amp;hl=en&amp;fs=1&amp;rel=0&amp;color1=0x006699&amp;color2=0x54abd6&amp;border=1&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;500&quot; height=&quot;405&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;h3&gt;Kiax&lt;/h3&gt;Kiax is an IAX softphone, so it is intended only for use with Asterisk, its configuration is really simple, but keep in mind that you need to create the username in the iax.conf file, instead of the sip.conf file to be able to use this softphone, it is really a good option if you are working with Asterisk.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRu0iTw2kvq66crjxtYL6TAOC6A_tZBGnXlU48okcJfyOMeFeV5JAIIspsuC6edT65zS09bQe1v4CKat6TufWNG3bSqgpXk_NMq1nhwZa8Pv7nuL1jSaBgTnG9ToirBiumWXPaFduYZGCY/s1600/kiax.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRu0iTw2kvq66crjxtYL6TAOC6A_tZBGnXlU48okcJfyOMeFeV5JAIIspsuC6edT65zS09bQe1v4CKat6TufWNG3bSqgpXk_NMq1nhwZa8Pv7nuL1jSaBgTnG9ToirBiumWXPaFduYZGCY/s320/kiax.png&quot; tt=&quot;true&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;h3&gt;Skype&lt;/h3&gt;Skype is a closed softphone, it means you may not use it with any gateway, it uses a proprietary protocol, and only works with the skype Network &lt;a href=&quot;http://www.skype.com/&quot; target=&quot;_blank&quot;&gt;skype site&lt;/a&gt;, but it lets you add contacts, call them by free, or chat with them.&lt;br /&gt;
&lt;br /&gt;
You may also call land lines and cell phones using a credit card or paypal to add credit to your account, the rates are really low compared with normal Telco rates, as there is versions for Windows and Mac, it is widely used, and maybe the most popular softphone, it also has the advantage that you do not need to configure your own PBX.&lt;br /&gt;
&lt;br /&gt;
&lt;h3&gt;Gizmo&lt;/h3&gt;Gizmo is another network like Skype, but the good thing is that its softphone also support SIP configuration, and can be connected to an Asterisk PBX, while using its own network!, you may also configure is with your favorite IM network, MSN, Yahoo messenger, etc.&lt;br /&gt;
The configuration is really easy, and you add credit to call to outside numbers, using its network, or use you own PBX to make those calls, I really recommend the use of this software, which can be downloaded from &lt;a href=&quot;http://gizmo5.com/&quot; target=&quot;_blank&quot;&gt;gizmo.com&lt;/a&gt; you can also download versions for cell phones, if you are using Ubuntu it is in medibuntu repository, if are using Crunchbang Linux you just have to install it with:&lt;br /&gt;
&lt;div class=&quot;codigo&quot;&gt;sudo aptitude install gizmo5&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div id=&quot;disqus_thread&quot;&gt;&lt;/div&gt;&lt;noscript&gt;&lt;/noscript&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSI1W9SOHlK-sOfOWcPwm_h_2gPiwUSMdORT-0gIRYHWB59BO7hB4b4o1NRh9FsMvmYDtJ4288ylNJrRAzDafkec8zE5_x0aJ4SiHY8B0MyNjtr9NdUNojKnGzcGezfYdC8S0A5oxqtJBw/s1600/gizmo.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSI1W9SOHlK-sOfOWcPwm_h_2gPiwUSMdORT-0gIRYHWB59BO7hB4b4o1NRh9FsMvmYDtJ4288ylNJrRAzDafkec8zE5_x0aJ4SiHY8B0MyNjtr9NdUNojKnGzcGezfYdC8S0A5oxqtJBw/s320/gizmo.png&quot; tt=&quot;true&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;&lt;strong&gt;Twinkle&lt;/strong&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Twinkle is another great SIP softphone, which can be easy used with Asterisk, or any other SIP gateway, it is easy to configure, supports STUN server, NAT traversal, Instant messaging, and as the others, can be used in a phone to phone configuration, or using a Gateway / SIP registrant.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy1QkspyJ3429b0pKgo-Yl70ibYEfSLXgqu2a730bB_KpZOh1LPi0-X_Pv2LKAQinYvYQm8m4TBDwEhD2Abs8yXzqcCu1_pC_ztAHpQKGo0nrkEUWBBZbz6rIMLesfEG_oDopRxGZHkGeC/s1600/Twinkle_1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy1QkspyJ3429b0pKgo-Yl70ibYEfSLXgqu2a730bB_KpZOh1LPi0-X_Pv2LKAQinYvYQm8m4TBDwEhD2Abs8yXzqcCu1_pC_ztAHpQKGo0nrkEUWBBZbz6rIMLesfEG_oDopRxGZHkGeC/s320/Twinkle_1.png&quot; tt=&quot;true&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/5497692129764096387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/05/six-linux-softphones-list.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/5497692129764096387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/5497692129764096387'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/05/six-linux-softphones-list.html' title='Six Linux softphone&#39;s list'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlZTfL1YjwE2M74jDUdpaDQo0opdtlzzJCKGjtPbCTyXHO1ocBFEjLrhafHZDKP4u0AoxJht4oEhyphenhyphentgTea0WJ8425EV8pWYbOjP-VJY76XqOHeNhyVWREXvCmDLoLxPFGF200u-nE7w3_K/s72-c/linphone.jpg" height="72" width="72"/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-8801279616363499088</id><published>2010-05-11T16:14:00.000+04:00</published><updated>2010-05-11T16:14:55.823+04:00</updated><title type='text'>Squid Access Lists</title><content type='html'>&lt;h2 id=&quot;Access_Lists&quot;&gt;Access Lists&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-71&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;There are a number of different access lists: &lt;span class=&quot;anchor&quot; id=&quot;line-72&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-73&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/http_access&quot; title=&quot;SquidConf&quot;&gt;http_access&lt;/a&gt;: Allows HTTP clients (browsers) to access the HTTP port. This is the primary access control list. &lt;span class=&quot;anchor&quot; id=&quot;line-74&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/http_reply_access&quot; title=&quot;SquidConf&quot;&gt;http_reply_access&lt;/a&gt;: Allows HTTP clients (browsers) to receive the reply to their request. This further restricts permissions given by &lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/http_access&quot; title=&quot;SquidConf&quot;&gt;http_access&lt;/a&gt;, and is primarily intended to be used together with rep_mime_type &lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/acl&quot; title=&quot;SquidConf&quot;&gt;acl&lt;/a&gt; for blocking different content types. &lt;span class=&quot;anchor&quot; id=&quot;line-75&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/icp_access&quot; title=&quot;SquidConf&quot;&gt;icp_access&lt;/a&gt;: Allows neighbor caches to query your cache with ICP. &lt;span class=&quot;anchor&quot; id=&quot;line-76&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/miss_access&quot; title=&quot;SquidConf&quot;&gt;miss_access&lt;/a&gt;: Allows certain clients to forward cache misses through your cache. This further restricts permissions given by &lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/http_access&quot; title=&quot;SquidConf&quot;&gt;http_access&lt;/a&gt;, and is primarily intended to be used for enforcing sibling relations by denying siblings from forwarding cache misses through your cache. &lt;span class=&quot;anchor&quot; id=&quot;line-77&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/cache&quot; title=&quot;SquidConf&quot;&gt;cache&lt;/a&gt;: Defines responses that should not be cached. &lt;span class=&quot;anchor&quot; id=&quot;line-78&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/url_rewrite_access&quot; title=&quot;SquidConf&quot;&gt;url_rewrite_access&lt;/a&gt;: Controls which requests are sent through the redirector pool. &lt;span class=&quot;anchor&quot; id=&quot;line-79&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/ident_lookup_access&quot; title=&quot;SquidConf&quot;&gt;ident_lookup_access&lt;/a&gt;: Controls which requests need an Ident lookup. &lt;span class=&quot;anchor&quot; id=&quot;line-80&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/always_direct&quot; title=&quot;SquidConf&quot;&gt;always_direct&lt;/a&gt;: Controls which requests should always be forwarded directly to origin servers. &lt;span class=&quot;anchor&quot; id=&quot;line-81&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/never_direct&quot; title=&quot;SquidConf&quot;&gt;never_direct&lt;/a&gt;: Controls which requests should never be forwarded directly to origin servers. &lt;span class=&quot;anchor&quot; id=&quot;line-82&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/snmp_access&quot; title=&quot;SquidConf&quot;&gt;snmp_access&lt;/a&gt;: Controls SNMP client access to the cache. &lt;span class=&quot;anchor&quot; id=&quot;line-83&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/broken_posts&quot; title=&quot;SquidConf&quot;&gt;broken_posts&lt;/a&gt;: Defines requests for which squid appends an extra CRLF after POST message bodies as required by some broken origin servers. &lt;span class=&quot;anchor&quot; id=&quot;line-84&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/cache_peer_access&quot; title=&quot;SquidConf&quot;&gt;cache_peer_access&lt;/a&gt;: Controls which requests can be forwarded to a given neighbor (&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/cache_peer&quot; title=&quot;SquidConf&quot;&gt;cache_peer&lt;/a&gt;). &lt;span class=&quot;anchor&quot; id=&quot;line-85&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/htcp_access&quot; title=&quot;SquidConf&quot;&gt;htcp_access&lt;/a&gt;: Controls which remote machines are able to make HTCP requests. &lt;span class=&quot;anchor&quot; id=&quot;line-86&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/htcp_clr_access&quot; title=&quot;SquidConf&quot;&gt;htcp_clr_access&lt;/a&gt;: Controls which remote machines are able to make HTCP CLR requests. &lt;span class=&quot;anchor&quot; id=&quot;line-87&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/request_header_access&quot; title=&quot;SquidConf&quot;&gt;request_header_access&lt;/a&gt;: Controls which request headers are removed when violating HTTP protocol. &lt;span class=&quot;anchor&quot; id=&quot;line-88&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/reply_header_access&quot; title=&quot;SquidConf&quot;&gt;reply_header_access&lt;/a&gt;: Controls which reply headers are removed from delivery to the client when violating HTTP protocol. &lt;span class=&quot;anchor&quot; id=&quot;line-89&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/delay_access&quot; title=&quot;SquidConf&quot;&gt;delay_access&lt;/a&gt;: Controls which requests are handled by what &lt;a href=&quot;http://www.blogger.com/Features/DelayPools&quot;&gt;delay pool&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-90&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/icap_access&quot; title=&quot;SquidConf&quot;&gt;icap_access&lt;/a&gt;: (replaced by &lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/adaptation_access&quot; title=&quot;SquidConf&quot;&gt;adaptation_access&lt;/a&gt; in &lt;a href=&quot;http://www.blogger.com/Squid-3.1&quot;&gt;Squid-3.1&lt;/a&gt;) What requests may be sent to a particular ICAP server. &lt;span class=&quot;anchor&quot; id=&quot;line-91&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/adaptation_access&quot; title=&quot;SquidConf&quot;&gt;adaptation_access&lt;/a&gt;: What requests may be sent to a particular ICAP or eCAP filter service. &lt;span class=&quot;anchor&quot; id=&quot;line-92&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/log_access&quot; title=&quot;SquidConf&quot;&gt;log_access&lt;/a&gt;: Controls which requests are logged. This is global and overrides specific file access lists appended to &lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/access_log&quot; title=&quot;SquidConf&quot;&gt;access_log&lt;/a&gt; directives. &lt;span class=&quot;anchor&quot; id=&quot;line-93&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-94&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;line867&quot;&gt;&lt;strong&gt;Notes&lt;/strong&gt;: &lt;span class=&quot;anchor&quot; id=&quot;line-95&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-96&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;An access list &lt;em&gt;rule&lt;/em&gt; consists of an &lt;em&gt;allow&lt;/em&gt; or &lt;em&gt;deny&lt;/em&gt; keyword, followed by a list of ACL element names. &lt;span class=&quot;anchor&quot; id=&quot;line-97&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-98&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line874&quot;&gt;An access list consists of one or more access list rules. &lt;span class=&quot;anchor&quot; id=&quot;line-99&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-100&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line874&quot;&gt;Access list rules are checked in the order they are written. List searching terminates as soon as one of the rules is a match. &lt;span class=&quot;anchor&quot; id=&quot;line-101&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-102&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;If a rule has multiple ACL elements, it uses AND logic. In other words, &lt;em&gt;all&lt;/em&gt; ACL elements of the rule must be a match in order for the rule to be a match. This means that it is possible to write a rule that can never be matched. For example, a port number can never be equal to both 80 AND 8000 at the same time. &lt;span class=&quot;anchor&quot; id=&quot;line-103&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-104&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line874&quot;&gt;To summarize the ACL logics can be described as: &lt;span class=&quot;anchor&quot; id=&quot;line-105&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-106&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-107&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-108&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-109&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-110&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-111&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-112&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1&quot;&gt;&lt;/span&gt;http_access allow|deny acl AND acl AND ...
&lt;span class=&quot;anchor&quot; id=&quot;line-2&quot;&gt;&lt;/span&gt;        OR
&lt;span class=&quot;anchor&quot; id=&quot;line-3&quot;&gt;&lt;/span&gt;http_access allow|deny acl AND acl AND ...
&lt;span class=&quot;anchor&quot; id=&quot;line-4&quot;&gt;&lt;/span&gt;        OR
&lt;span class=&quot;anchor&quot; id=&quot;line-5&quot;&gt;&lt;/span&gt;...&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-113&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;If none of the rules are matched, then the default action is the &lt;em&gt;opposite&lt;/em&gt; of the last rule in the list. Its a good idea to be explicit with the default action. The best way is to use the &lt;em&gt;all&lt;/em&gt; ACL. For example: &lt;span class=&quot;anchor&quot; id=&quot;line-114&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-115&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-116&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-117&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-1&quot;&gt;&lt;/span&gt;http_access deny all&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-118&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;How_do_I_allow_my_clients_to_use_the_cache.3F&quot;&gt;How do I allow my clients to use the cache?&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-119&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;Define an ACL that corresponds to your client&#39;s IP addresses. For example: &lt;span class=&quot;anchor&quot; id=&quot;line-120&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-121&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-122&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-123&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-2&quot;&gt;&lt;/span&gt;acl myclients src 172.16.5.0/24&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-124&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;Next, allow those clients in the &lt;em&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/http_access&quot; title=&quot;SquidConf&quot;&gt;http_access&lt;/a&gt;&lt;/em&gt; list: &lt;span class=&quot;anchor&quot; id=&quot;line-125&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-126&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-127&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-128&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-3&quot;&gt;&lt;/span&gt;http_access allow myclients&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-129&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;how_do_I_configure_Squid_not_to_cache_a_specific_server.3F&quot;&gt;how do I configure Squid not to cache a specific server?&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-130&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-131&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-132&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-133&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-4&quot;&gt;&lt;/span&gt;acl someserver dstdomain .someserver.com
&lt;span class=&quot;anchor&quot; id=&quot;line-2-1&quot;&gt;&lt;/span&gt;cache deny someserver&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-134&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;How_do_I_implement_an_ACL_ban_list.3F&quot;&gt;How do I implement an ACL ban list?&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-135&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;As an example, we will assume that you would like to prevent users from accessing cooking recipes. &lt;span class=&quot;anchor&quot; id=&quot;line-136&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-137&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line874&quot;&gt;One way to implement this would be to deny access to any URLs that contain the words &quot;cooking&quot; or &quot;recipe.&quot; You would use these configuration lines: &lt;span class=&quot;anchor&quot; id=&quot;line-138&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-139&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-140&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-141&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-142&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-143&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-144&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-145&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-146&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-147&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-5&quot;&gt;&lt;/span&gt;acl Cooking1 url_regex cooking
&lt;span class=&quot;anchor&quot; id=&quot;line-2-2&quot;&gt;&lt;/span&gt;acl Recipe1 url_regex recipe
&lt;span class=&quot;anchor&quot; id=&quot;line-3-1&quot;&gt;&lt;/span&gt;acl myclients src 172.16.5.0/24
&lt;span class=&quot;anchor&quot; id=&quot;line-4-1&quot;&gt;&lt;/span&gt;http_access deny Cooking1
&lt;span class=&quot;anchor&quot; id=&quot;line-5-1&quot;&gt;&lt;/span&gt;http_access deny Recipe1
&lt;span class=&quot;anchor&quot; id=&quot;line-6&quot;&gt;&lt;/span&gt;http_access allow myclients
&lt;span class=&quot;anchor&quot; id=&quot;line-7&quot;&gt;&lt;/span&gt;http_access deny all&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-148&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;The &lt;em&gt;url_regex&lt;/em&gt; means to search the entire URL for the regular expression you specify. Note that these regular expressions are case-sensitive, so a url containing &quot;Cooking&quot; would not be denied. &lt;span class=&quot;anchor&quot; id=&quot;line-149&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-150&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line874&quot;&gt;Another way is to deny access to specific servers which are known to hold recipes. For example: &lt;span class=&quot;anchor&quot; id=&quot;line-151&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-152&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-153&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-154&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-155&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-156&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-6&quot;&gt;&lt;/span&gt;acl Cooking2 dstdomain www.gourmet-chef.com
&lt;span class=&quot;anchor&quot; id=&quot;line-2-3&quot;&gt;&lt;/span&gt;http_access deny Cooking2
&lt;span class=&quot;anchor&quot; id=&quot;line-3-2&quot;&gt;&lt;/span&gt;http_access allow all&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-157&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;The &lt;em&gt;dstdomain&lt;/em&gt; means to search the hostname in the URL for the string &quot;www.gourmet-chef.com.&quot; Note that when IP addresses are used in URLs (instead of domain names), Squid implements relaxed access controls. If the a domain name for the IP address has been saved in Squid&#39;s &quot;FQDN cache&quot;, then Squid can compare the destination domain against the access controls. However, if the domain is not immediately available, Squid allows the request and makes a lookup for the IP address so that it may be available for future requests. &lt;span class=&quot;anchor&quot; id=&quot;line-158&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-159&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;How_do_I_block_specific_users_or_groups_from_accessing_my_cache.3F&quot;&gt;How do I block specific users or groups from accessing my cache?&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-160&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h3 id=&quot;Using_Ident&quot;&gt;Using Ident&lt;/h3&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-161&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;You can use &lt;a class=&quot;ftp&quot; href=&quot;ftp://ftp.isi.edu/in-notes/rfc931.txt&quot;&gt;ident lookups&lt;/a&gt; to allow specific users access to your cache. This requires that an &lt;a class=&quot;ftp&quot; href=&quot;ftp://ftp.lysator.liu.se/pub/ident/servers&quot;&gt;ident server&lt;/a&gt; process runs on the user&#39;s machine(s). In your &lt;em&gt;squid.conf&lt;/em&gt; configuration file you would write something like this: &lt;span class=&quot;anchor&quot; id=&quot;line-162&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-163&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-164&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-165&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-166&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-167&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-168&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-7&quot;&gt;&lt;/span&gt;ident_lookup_access allow all
&lt;span class=&quot;anchor&quot; id=&quot;line-2-4&quot;&gt;&lt;/span&gt;acl friends ident kim lisa frank joe
&lt;span class=&quot;anchor&quot; id=&quot;line-3-3&quot;&gt;&lt;/span&gt;http_access allow friends
&lt;span class=&quot;anchor&quot; id=&quot;line-4-2&quot;&gt;&lt;/span&gt;http_access deny all&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-169&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-170&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;Note that &lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/ident_lookup_access&quot; title=&quot;SquidConf&quot;&gt;ident_lookup_access&lt;/a&gt; only permits/denies whether a machine is tested for its Ident. This does not directly alter access to the users request. &lt;span class=&quot;anchor&quot; id=&quot;line-171&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-172&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;h2 id=&quot;Is_there_a_way_to_do_ident_lookups_only_for_a_certain_host_and_compare_the_result_with_a_userlist_in_squid.conf.3F&quot;&gt;Is there a way to do ident lookups only for a certain host and compare the result with a userlist in squid.conf?&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-173&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;You can use the &lt;em&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/ident_lookup_access&quot; title=&quot;SquidConf&quot;&gt;ident_lookup_access&lt;/a&gt;&lt;/em&gt; directive to control for which hosts Squid will issue &lt;a class=&quot;ftp&quot; href=&quot;ftp://ftp.isi.edu/in-notes/rfc931.txt&quot;&gt;ident lookup&lt;/a&gt; requests. &lt;span class=&quot;anchor&quot; id=&quot;line-174&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-175&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;Additionally, if you use a &lt;em&gt;ident&lt;/em&gt; ACL in squid.conf, then Squid will make sure an ident lookup is performed while evaluating the acl even if &lt;em&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/ident_lookup_access&quot; title=&quot;SquidConf&quot;&gt;ident_lookup_access&lt;/a&gt;&lt;/em&gt; does not indicate ident lookups should be performed earlier. &lt;span class=&quot;anchor&quot; id=&quot;line-176&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-177&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line874&quot;&gt;However, Squid does not wait for the lookup to complete unless the ACL rules require it. Consider this configuration: &lt;span class=&quot;anchor&quot; id=&quot;line-178&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-179&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-180&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-181&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-182&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-183&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-184&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-185&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-8&quot;&gt;&lt;/span&gt;acl host1 src 10.0.0.1
&lt;span class=&quot;anchor&quot; id=&quot;line-2-5&quot;&gt;&lt;/span&gt;acl host2 src 10.0.0.2
&lt;span class=&quot;anchor&quot; id=&quot;line-3-4&quot;&gt;&lt;/span&gt;acl pals  ident kim lisa frank joe
&lt;span class=&quot;anchor&quot; id=&quot;line-4-3&quot;&gt;&lt;/span&gt;http_access allow host1
&lt;span class=&quot;anchor&quot; id=&quot;line-5-2&quot;&gt;&lt;/span&gt;http_access allow host2 pals&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-186&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;Requests coming from 10.0.0.1 will be allowed immediately because there are no user requirements for that host. However, requests from 10.0.0.2 will be allowed only after the ident lookup completes, and if the username is in the set kim, lisa, frank, or joe. &lt;span class=&quot;anchor&quot; id=&quot;line-187&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-188&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h3 id=&quot;Using_Proxy_Authentication&quot;&gt;Using Proxy Authentication&lt;/h3&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-189&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;Another option is to use proxy-authentication. In this scheme, you assign usernames and passwords to individuals. When they first use the proxy they are asked to authenticate themselves by entering their username and password. &lt;span class=&quot;anchor&quot; id=&quot;line-190&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-191&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;In Squid this authentication is handled via external processes. For information on how to configure this, please see &lt;a href=&quot;http://www.blogger.com/SquidFaq/ProxyAuthentication&quot;&gt;SquidFaq/ProxyAuthentication&lt;/a&gt;. &lt;span class=&quot;anchor&quot; id=&quot;line-192&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-193&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;Do_you_have_a_CGI_program_which_lets_users_change_their_own_proxy_passwords.3F&quot;&gt;Do you have a CGI program which lets users change their own proxy passwords?&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-194&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;a class=&quot;mailto&quot; href=&quot;mailto:orso@brturbo.com&quot;&gt;Pedro L Orso&lt;/a&gt; has adapted the Apache&#39;s &lt;em&gt;htpasswd&lt;/em&gt; into a CGI program called &lt;a class=&quot;http&quot; href=&quot;http://www.squid-cache.org/htpasswd/&quot;&gt;chpasswd.cgi&lt;/a&gt;. &lt;span class=&quot;anchor&quot; id=&quot;line-195&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-196&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;Common_Mistakes&quot;&gt;Common Mistakes&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-197&quot;&gt;&lt;/span&gt;&lt;br /&gt;
h3 id=&quot;And.2BAC8-Or_logic&quot;&amp;gt;And/Or logic&lt;br /&gt;
&lt;h3&gt;&lt;/h3&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-198&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;You&#39;ve probably noticed (and been frustrated by) the fact that you cannot combine access controls with terms like &quot;and&quot; or &quot;or.&quot; These operations are already built in to the access control scheme in a fundamental way which you must understand. &lt;span class=&quot;anchor&quot; id=&quot;line-199&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-200&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;strong&gt;All elements of an &lt;em&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/acl&quot; title=&quot;SquidConf&quot;&gt;acl&lt;/a&gt;&lt;/em&gt; entry are OR&#39;ed together&lt;/strong&gt;. &lt;span class=&quot;anchor&quot; id=&quot;line-201&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;strong&gt;All elements of an &lt;em&gt;access&lt;/em&gt; entry are AND&#39;ed together&lt;/strong&gt; (e.g. &lt;em&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/http_access&quot; title=&quot;SquidConf&quot;&gt;http_access&lt;/a&gt;&lt;/em&gt; and &lt;em&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/icp_access&quot; title=&quot;SquidConf&quot;&gt;icp_access&lt;/a&gt;&lt;/em&gt;) &lt;span class=&quot;anchor&quot; id=&quot;line-202&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-203&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;line874&quot;&gt;For example, the following access control configuration will never work: &lt;span class=&quot;anchor&quot; id=&quot;line-204&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-205&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-206&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-207&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-208&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-209&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-9&quot;&gt;&lt;/span&gt;acl ME src 10.0.0.1
&lt;span class=&quot;anchor&quot; id=&quot;line-2-6&quot;&gt;&lt;/span&gt;acl YOU src 10.0.0.2
&lt;span class=&quot;anchor&quot; id=&quot;line-3-5&quot;&gt;&lt;/span&gt;http_access allow ME YOU&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-210&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;In order for the request to be allowed, it must match the &quot;ME&quot; &lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/acl&quot; title=&quot;SquidConf&quot;&gt;acl&lt;/a&gt; AND the &quot;YOU&quot; &lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/acl&quot; title=&quot;SquidConf&quot;&gt;acl&lt;/a&gt;. This is impossible because any IP address could only match one or the other. This should instead be rewritten as: &lt;span class=&quot;anchor&quot; id=&quot;line-211&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-212&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-213&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-214&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-215&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-216&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-217&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-10&quot;&gt;&lt;/span&gt;acl ME src 10.0.0.1
&lt;span class=&quot;anchor&quot; id=&quot;line-2-7&quot;&gt;&lt;/span&gt;acl YOU src 10.0.0.2
&lt;span class=&quot;anchor&quot; id=&quot;line-3-6&quot;&gt;&lt;/span&gt;http_access allow ME
&lt;span class=&quot;anchor&quot; id=&quot;line-4-4&quot;&gt;&lt;/span&gt;http_access allow YOU&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-218&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;Or, alternatively, this would also work: &lt;span class=&quot;anchor&quot; id=&quot;line-219&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-220&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-221&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-222&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-223&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-11&quot;&gt;&lt;/span&gt;acl US src 10.0.0.1 10.0.0.2
&lt;span class=&quot;anchor&quot; id=&quot;line-2-8&quot;&gt;&lt;/span&gt;http_access allow US&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-224&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h3 id=&quot;allow.2BAC8-deny_mixups&quot;&gt;allow/deny mixups&lt;/h3&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-225&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;em&gt;I have read through my squid.conf numerous times, spoken to my neighbors, read the FAQ and Squid Docs and cannot for the life of me work out why the following will not work.&lt;/em&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-226&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-227&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;em&gt;I can successfully access &lt;strong&gt;cachemgr.cgi&lt;/strong&gt; from our web server machine here, but I would like to use MRTG to monitor various aspects of our proxy. When I try to use &lt;strong&gt;squidclient&lt;/strong&gt; or GET cache_object from the machine the proxy is running on, I always get access denied.&lt;/em&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-228&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-229&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-230&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-231&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-232&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-233&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-234&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-235&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-236&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-237&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-12&quot;&gt;&lt;/span&gt;acl manager proto cache_object
&lt;span class=&quot;anchor&quot; id=&quot;line-2-9&quot;&gt;&lt;/span&gt;acl localhost src 127.0.0.1/255.255.255.255
&lt;span class=&quot;anchor&quot; id=&quot;line-3-7&quot;&gt;&lt;/span&gt;acl server    src 1.2.3.4/255.255.255.255
&lt;span class=&quot;anchor&quot; id=&quot;line-4-5&quot;&gt;&lt;/span&gt;acl ourhosts  src 1.2.0.0/255.255.0.0
&lt;span class=&quot;anchor&quot; id=&quot;line-5-3&quot;&gt;&lt;/span&gt;http_access deny manager !localhost !server
&lt;span class=&quot;anchor&quot; id=&quot;line-6-1&quot;&gt;&lt;/span&gt;http_access allow ourhosts
&lt;span class=&quot;anchor&quot; id=&quot;line-7-1&quot;&gt;&lt;/span&gt;http_access deny all&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-238&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;The intent here is to allow cache manager requests from the &lt;em&gt;localhost&lt;/em&gt; and &lt;em&gt;server&lt;/em&gt; addresses, and deny all others. This policy has been expressed here: &lt;span class=&quot;anchor&quot; id=&quot;line-239&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-240&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-241&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-242&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-13&quot;&gt;&lt;/span&gt;http_access deny manager !localhost !server&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-243&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;The problem here is that for allowable requests, this access rule is not matched. For example, if the source IP address is &lt;em&gt;localhost&lt;/em&gt;, then &quot;!localhost&quot; is &lt;em&gt;false&lt;/em&gt; and the access rule is not matched, so Squid continues checking the other rules. Cache manager requests from the &lt;em&gt;server&lt;/em&gt; address work because &lt;em&gt;server&lt;/em&gt; is a subset of &lt;em&gt;ourhosts&lt;/em&gt; and the second access rule will match and allow the request. Also note that this means any cache manager request from &lt;em&gt;ourhosts&lt;/em&gt; would be allowed. &lt;span class=&quot;anchor&quot; id=&quot;line-244&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-245&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line874&quot;&gt;To implement the desired policy correctly, the access rules should be rewritten as &lt;span class=&quot;anchor&quot; id=&quot;line-246&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-247&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-248&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-249&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-250&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-251&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-252&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-253&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-14&quot;&gt;&lt;/span&gt;http_access allow manager localhost
&lt;span class=&quot;anchor&quot; id=&quot;line-2-10&quot;&gt;&lt;/span&gt;http_access allow manager server
&lt;span class=&quot;anchor&quot; id=&quot;line-3-8&quot;&gt;&lt;/span&gt;http_access deny manager
&lt;span class=&quot;anchor&quot; id=&quot;line-4-6&quot;&gt;&lt;/span&gt;http_access allow ourhosts
&lt;span class=&quot;anchor&quot; id=&quot;line-5-4&quot;&gt;&lt;/span&gt;http_access deny all&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-254&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;If you&#39;re using &lt;em&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/miss_access&quot; title=&quot;SquidConf&quot;&gt;miss_access&lt;/a&gt;&lt;/em&gt;, then don&#39;t forget to also add a &lt;em&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/miss_access&quot; title=&quot;SquidConf&quot;&gt;miss_access&lt;/a&gt;&lt;/em&gt; rule for the cache manager: &lt;span class=&quot;anchor&quot; id=&quot;line-255&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-256&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-257&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-258&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-15&quot;&gt;&lt;/span&gt;miss_access allow manager&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-259&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;You may be concerned that the having five access rules instead of three may have an impact on the cache performance. In our experience this is not the case. Squid is able to handle a moderate amount of access control checking without degrading overall performance. You may like to verify that for yourself, however. &lt;span class=&quot;anchor&quot; id=&quot;line-260&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-261&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h3 id=&quot;Differences_between_.27.27src.27.27_and_.27.27srcdomain.27.27_ACL_types&quot;&gt;Differences between &#39;&#39;src&#39;&#39; and &#39;&#39;srcdomain&#39;&#39; ACL types&lt;/h3&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-262&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;For the &lt;em&gt;srcdomain&lt;/em&gt; ACL type, Squid does a reverse lookup of the client&#39;s IP address and checks the result with the domains given on the &lt;em&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/acl&quot; title=&quot;SquidConf&quot;&gt;acl&lt;/a&gt;&lt;/em&gt; line. With the &lt;em&gt;src&lt;/em&gt; ACL type, Squid converts hostnames to IP addresses at startup and then only compares the client&#39;s IP address. The &lt;em&gt;src&lt;/em&gt; ACL is preferred over &lt;em&gt;srcdomain&lt;/em&gt; because it does not require address-to-name lookups for each request. &lt;span class=&quot;anchor&quot; id=&quot;line-263&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-264&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;I_set_up_my_access_controls.2C_but_they_don.27t_work.21__why.3F&quot;&gt;I set up my access controls, but they don&#39;t work! why?&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-265&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;If ACLs are giving you problems and you don&#39;t know why they aren&#39;t working, you can use this tip to debug them. &lt;span class=&quot;anchor&quot; id=&quot;line-266&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-267&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;In &lt;em&gt;squid.conf&lt;/em&gt; enable debugging for section 33 at level 2. For example: &lt;span class=&quot;anchor&quot; id=&quot;line-268&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-269&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-270&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-271&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-16&quot;&gt;&lt;/span&gt;debug_options ALL,1 33,2&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-272&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;Then restart or reconfigure squid. &lt;span class=&quot;anchor&quot; id=&quot;line-273&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-274&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;From now on, your &lt;em&gt;cache.log&lt;/em&gt; should contain a line for every request that explains if it was allowed, or denied, and which ACL was the last one that it matched. &lt;span class=&quot;anchor&quot; id=&quot;line-275&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-276&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line874&quot;&gt;If this does not give you sufficient information to nail down the problem you can also enable detailed debug information on ACL processing &lt;span class=&quot;anchor&quot; id=&quot;line-277&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-278&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-279&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-280&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-17&quot;&gt;&lt;/span&gt;debug_options ALL,1 33,2 28,9&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-281&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;Then restart or reconfigure squid as above. &lt;span class=&quot;anchor&quot; id=&quot;line-282&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-283&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;From now on, your &lt;em&gt;cache.log&lt;/em&gt; should contain detailed traces of all access list processing. Be warned that this can be quite some lines per request. &lt;span class=&quot;anchor&quot; id=&quot;line-284&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-285&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;See also &lt;a href=&quot;http://www.blogger.com/SquidFaq/TroubleShooting&quot;&gt;SquidFaq/TroubleShooting&lt;/a&gt;. &lt;span class=&quot;anchor&quot; id=&quot;line-286&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-287&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;Proxy-authentication_and_neighbor_caches&quot;&gt;Proxy-authentication and neighbor caches&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-288&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;strong&gt;The problem &lt;/strong&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-289&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-290&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-291&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-292&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-293&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-294&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-295&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-296&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-297&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-298&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-18&quot;&gt;&lt;/span&gt;               [ Parents ]
&lt;span class=&quot;anchor&quot; id=&quot;line-2-11&quot;&gt;&lt;/span&gt;               /         \
&lt;span class=&quot;anchor&quot; id=&quot;line-3-9&quot;&gt;&lt;/span&gt;              /           \
&lt;span class=&quot;anchor&quot; id=&quot;line-4-7&quot;&gt;&lt;/span&gt;       [ Proxy A ] --- [ Proxy B ]
&lt;span class=&quot;anchor&quot; id=&quot;line-5-5&quot;&gt;&lt;/span&gt;           |
&lt;span class=&quot;anchor&quot; id=&quot;line-6-2&quot;&gt;&lt;/span&gt;           |
&lt;span class=&quot;anchor&quot; id=&quot;line-7-2&quot;&gt;&lt;/span&gt;          USER&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-299&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;em&gt;Proxy A sends and ICP query to Proxy B about an object, Proxy B replies with an ICP_HIT. Proxy A forwards the HTTP request to Proxy B, but does not pass on the authentication details, therefore the HTTP GET from Proxy A fails.&lt;/em&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-300&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-301&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line874&quot;&gt;Only ONE proxy cache in a chain is allowed to &quot;use&quot; the Proxy-Authentication request header. Once the header is used, it must not be passed on to other proxies. &lt;span class=&quot;anchor&quot; id=&quot;line-302&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-303&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;Therefore, you must allow the neighbor caches to request from each other without proxy authentication. This is simply accomplished by listing the neighbor ACL&#39;s first in the list of &lt;em&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/http_access&quot; title=&quot;SquidConf&quot;&gt;http_access&lt;/a&gt;&lt;/em&gt; lines. For example: &lt;span class=&quot;anchor&quot; id=&quot;line-304&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-305&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-306&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-307&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-308&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-309&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-310&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-311&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-312&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-313&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-19&quot;&gt;&lt;/span&gt;acl proxy-A src 10.0.0.1
&lt;span class=&quot;anchor&quot; id=&quot;line-2-12&quot;&gt;&lt;/span&gt;acl proxy-B src 10.0.0.2
&lt;span class=&quot;anchor&quot; id=&quot;line-3-10&quot;&gt;&lt;/span&gt;acl user_passwords proxy_auth /tmp/user_passwds
&lt;span class=&quot;anchor&quot; id=&quot;line-4-8&quot;&gt;&lt;/span&gt;http_access allow proxy-A
&lt;span class=&quot;anchor&quot; id=&quot;line-5-6&quot;&gt;&lt;/span&gt;http_access allow proxy-B
&lt;span class=&quot;anchor&quot; id=&quot;line-6-3&quot;&gt;&lt;/span&gt;http_access allow user_passwords
&lt;span class=&quot;anchor&quot; id=&quot;line-7-3&quot;&gt;&lt;/span&gt;http_access deny all&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-314&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-315&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;Squid-2.5 allows two exceptions to this rule, by defining the appropriate &lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/cache_peer&quot; title=&quot;SquidConf&quot;&gt;cache_peer&lt;/a&gt; options: &lt;span class=&quot;anchor&quot; id=&quot;line-316&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-317&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-318&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-319&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-20&quot;&gt;&lt;/span&gt;cache_peer parent.foo.com parent login=PASS&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-320&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;This will forward the user&#39;s credentials &lt;strong&gt;as-is&lt;/strong&gt; to the parent proxy which will be thus able to authenticate again. &lt;span class=&quot;anchor&quot; id=&quot;line-321&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div class=&quot;line862&quot;&gt;&lt;img alt=&quot;&amp;lt;!&amp;gt;&quot; height=&quot;15&quot; src=&quot;http://www.blogger.com/wiki/squidtheme/img/attention.png&quot; title=&quot;&amp;lt;!&amp;gt;&quot; width=&quot;15&quot; /&gt; &lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class=&quot;line862&quot;&gt;This will &lt;strong&gt;only&lt;/strong&gt; work with the &lt;em&gt;Basic&lt;/em&gt; authentication scheme. If any other scheme is enabled, it will fail &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-322&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-323&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-324&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-325&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-326&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-21&quot;&gt;&lt;/span&gt;cache_peer parent.foo.com parent login=*:somepassword&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-327&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;This will perform &lt;em&gt;Basic&lt;/em&gt; authentication against the parent, sending the &lt;strong&gt;username&lt;/strong&gt; of the current client connection and as password &lt;strong&gt;always&lt;/strong&gt; &lt;em&gt;somepassword&lt;/em&gt;. The parent will need to authorization against the child cache&#39;s IP address, as if there was no authentication forwarding, and it will need to perform client authentication for all usernames against &lt;em&gt;somepassword&lt;/em&gt; via a specially-designed authentication helper. The purpose is to log the client cache&#39;s usernames into the parent&#39;s &lt;em&gt;access.log&lt;/em&gt;. You can find an example semi-tested helper of that kind as &lt;a class=&quot;attachment&quot; href=&quot;http://www.blogger.com/SquidFaq/SquidAcl?action=AttachFile&amp;amp;do=view&amp;amp;target=parent_auth.pl&quot; title=&quot;&quot;&gt;parent_auth.pl&lt;/a&gt; . &lt;span class=&quot;anchor&quot; id=&quot;line-328&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-329&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;Is_there_an_easy_way_of_banning_all_Destination_addresses_except_one.3F&quot;&gt;Is there an easy way of banning all Destination addresses except one?&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-330&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-331&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-332&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-333&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-334&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-22&quot;&gt;&lt;/span&gt;acl GOOD dst 10.0.0.1
&lt;span class=&quot;anchor&quot; id=&quot;line-2-13&quot;&gt;&lt;/span&gt;http_access allow GOOD
&lt;span class=&quot;anchor&quot; id=&quot;line-3-11&quot;&gt;&lt;/span&gt;http_access deny all&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-335&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;How_can_I_block_access_to_porn_sites.3F&quot;&gt;How can I block access to porn sites?&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-336&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;Often, the hardest part about using Squid to deny pornography is coming up with the list of sites that should be blocked. You may want to maintain such a list yourself, or get one from somewhere else (see below). &lt;span class=&quot;anchor&quot; id=&quot;line-337&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-338&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line874&quot;&gt;The ACL syntax for using such a list depends on its contents. If the list contains regular expressions, use this: &lt;span class=&quot;anchor&quot; id=&quot;line-339&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-340&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-341&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-342&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-343&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-23&quot;&gt;&lt;/span&gt;acl PornSites url_regex &quot;/usr/local/squid/etc/pornlist&quot;
&lt;span class=&quot;anchor&quot; id=&quot;line-2-14&quot;&gt;&lt;/span&gt;http_access deny PornSites&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-344&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;On the other hand, if the list contains origin server hostnames, simply change &lt;em&gt;url_regex&lt;/em&gt; to &lt;em&gt;dstdomain&lt;/em&gt; in this example. &lt;span class=&quot;anchor&quot; id=&quot;line-345&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-346&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;Does_anyone_have_a_ban_list_of_porn_sites_and_such.3F&quot;&gt;Does anyone have a ban list of porn sites and such?&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-347&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;The &lt;a class=&quot;http&quot; href=&quot;http://www.squidguard.org/blacklists.html&quot;&gt;SquidGuard&lt;/a&gt; redirector folks have links to some lists. &lt;span class=&quot;anchor&quot; id=&quot;line-348&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;Bill Stearns maintains the &lt;a class=&quot;http&quot; href=&quot;http://www.stearns.org/sa-blacklist/&quot;&gt;sa-blacklist&lt;/a&gt; of known spammers. By blocking the spammer web sites in squid, users can no longer use up bandwidth downloading spam images and html. Even more importantly, they can no longer send out requests for things like scripts and gifs that have a unique identifer attached, showing that they opened the email and making their addresses more valuable to the spammer. &lt;span class=&quot;anchor&quot; id=&quot;line-349&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;The &lt;a class=&quot;http&quot; href=&quot;http://freshmeat.net/projects/sleezeball/&quot;&gt;SleezeBall site&lt;/a&gt; has a list of patterns that you can download. &lt;span class=&quot;anchor&quot; id=&quot;line-350&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-351&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;Squid_doesn.27t_match_my_subdomains&quot;&gt;Squid doesn&#39;t match my subdomains&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-352&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;If you are using Squid-2.4 or later then keep in mind that dstdomain acls uses different syntax for exact host matches and entire domain matches. &lt;em&gt;www.example.com&lt;/em&gt; matches the &lt;strong&gt;exact host&lt;/strong&gt; &lt;em&gt;www.example.com&lt;/em&gt;, while &lt;em&gt;.example.com&lt;/em&gt; matches the &lt;strong&gt;entire domain&lt;/strong&gt; example.com (including example.com alone) &lt;span class=&quot;anchor&quot; id=&quot;line-353&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-354&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;There is also subtle issues if your dstdomain ACLs contains matches for both an exact host in a domain and the whole domain where both are in the same domain (i.e. both &lt;em&gt;www.example.com&lt;/em&gt; and &lt;em&gt;.example.com&lt;/em&gt;). Depending on how your data is ordered this may cause only the most specific of these (e.g. &lt;em&gt;www.example.com&lt;/em&gt;) to be used. &lt;span class=&quot;anchor&quot; id=&quot;line-355&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div class=&quot;line862&quot;&gt;&lt;img alt=&quot;{i}&quot; height=&quot;16&quot; src=&quot;http://www.blogger.com/wiki/squidtheme/img/icon-info.png&quot; title=&quot;{i}&quot; width=&quot;16&quot; /&gt; &lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class=&quot;line862&quot;&gt;Squid-2.4 and later will warn you when this kind of configuration is used. If your Squid does not warn you while reading the configuration file you do not have the problem described below. Also the configuration here uses the dstdomain syntax of Squid-2.1 or earlier.. (Squid-2.2 and later needs to have domains prefixed by a dot) &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-356&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-357&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-358&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;There is a subtle problem with domain-name based access controls when a single ACL element has an entry that is a subdomain of another entry. For example, consider this list: &lt;span class=&quot;anchor&quot; id=&quot;line-359&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-360&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-361&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-362&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-24&quot;&gt;&lt;/span&gt;acl FOO dstdomain boulder.co.us vail.co.us co.us&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-363&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;In the first place, the above list is simply wrong because the first two (&lt;em&gt;boulder.co.us&lt;/em&gt; and &lt;em&gt;vail.co.us&lt;/em&gt;) are unnecessary. Any domain name that matches one of the first two will also match the last one (&lt;em&gt;co.us&lt;/em&gt;). Ok, but why does this happen? &lt;span class=&quot;anchor&quot; id=&quot;line-364&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-365&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;The problem stems from the data structure used to index domain names in an access control list. Squid uses &lt;em&gt;Splay trees&lt;/em&gt; for lists of domain names. As other tree-based data structures, the searching algorithm requires a comparison function that returns -1, 0, or +1 for any pair of keys (domain names). This is similar to the way that &lt;em&gt;strcmp()&lt;/em&gt; works. &lt;span class=&quot;anchor&quot; id=&quot;line-366&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-367&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;The problem is that it is wrong to say that &lt;em&gt;co.us&lt;/em&gt; is greater-than, equal-to, or less-than &lt;em&gt;boulder.co.us&lt;/em&gt;. &lt;span class=&quot;anchor&quot; id=&quot;line-368&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-369&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;For example, if you said that &lt;em&gt;co.us&lt;/em&gt; is LESS than &lt;em&gt;fff.co.us&lt;/em&gt;, then the Splay tree searching algorithm might never discover &lt;em&gt;co.us&lt;/em&gt; as a match for &lt;em&gt;kkk.co.us&lt;/em&gt;. &lt;span class=&quot;anchor&quot; id=&quot;line-370&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-371&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;similarly, if you said that &lt;em&gt;co.us&lt;/em&gt; is GREATER than &lt;em&gt;fff.co.us&lt;/em&gt;, then the Splay tree searching algorithm might never discover &lt;em&gt;co.us&lt;/em&gt; as a match for &lt;em&gt;bbb.co.us&lt;/em&gt;. &lt;span class=&quot;anchor&quot; id=&quot;line-372&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-373&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line874&quot;&gt;The bottom line is that you can&#39;t have one entry that is a subdomain of another. Squid will warn you if it detects this condition. &lt;span class=&quot;anchor&quot; id=&quot;line-374&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-375&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;Why_does_Squid_deny_some_port_numbers.3F&quot;&gt;Why does Squid deny some port numbers?&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-376&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;It is dangerous to allow Squid to connect to certain port numbers. For example, it has been demonstrated that someone can use Squid as an SMTP (email) relay. As I&#39;m sure you know, SMTP relays are one of the ways that spammers are able to flood our mailboxes. To prevent mail relaying, Squid denies requests when the URL port number is 25. Other ports should be blocked as well, as a precaution against other less common attacks. &lt;span class=&quot;anchor&quot; id=&quot;line-377&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-378&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;There are two ways to filter by port number: either allow specific ports, or deny specific ports. By default, Squid does the first. This is the ACL entry that comes in the default &lt;em&gt;squid.conf&lt;/em&gt;: &lt;span class=&quot;anchor&quot; id=&quot;line-379&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-380&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-381&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-382&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-383&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-25&quot;&gt;&lt;/span&gt;acl Safe_ports port 80 21 443 563 70 210 1025-65535
&lt;span class=&quot;anchor&quot; id=&quot;line-2-15&quot;&gt;&lt;/span&gt;http_access deny !Safe_ports&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-384&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;The above configuration denies requests when the URL port number is not in the list. The list allows connections to the standard ports for HTTP, FTP, Gopher, SSL, WAIS, and all non-privileged ports. &lt;span class=&quot;anchor&quot; id=&quot;line-385&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-386&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line874&quot;&gt;Another approach is to deny dangerous ports. The dangerous port list should look something like: &lt;span class=&quot;anchor&quot; id=&quot;line-387&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-388&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-389&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-390&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-391&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-26&quot;&gt;&lt;/span&gt;acl Dangerous_ports port 7 9 19 22 23 25 53 109 110 119
&lt;span class=&quot;anchor&quot; id=&quot;line-2-16&quot;&gt;&lt;/span&gt;http_access deny Dangerous_ports&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-392&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;...and probably many others. &lt;span class=&quot;anchor&quot; id=&quot;line-393&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-394&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;Please consult the &lt;em&gt;/etc/services&lt;/em&gt; file on your system for a list of known ports and protocols. &lt;span class=&quot;anchor&quot; id=&quot;line-395&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-396&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;Does_Squid_support_the_use_of_a_database_such_as_mySQL_for_storing_the_ACL_list.3F&quot;&gt;Does Squid support the use of a database such as mySQL for storing the ACL list?&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-397&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;Yes, Squid supports acl interaction with external data sources via the &lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/external_acl_type&quot; title=&quot;SquidConf&quot;&gt;external_acl_type&lt;/a&gt; directive. Helpers for LDAP and NT Domain group membership is included in the distribution and it&#39;s very easy to write additional helpers to fit your environment. &lt;span class=&quot;anchor&quot; id=&quot;line-398&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-399&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;How_can_I_allow_a_single_address_to_access_a_specific_URL.3F&quot;&gt;How can I allow a single address to access a specific URL?&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-400&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;This example allows only the &lt;em&gt;special_client&lt;/em&gt; to access the &lt;em&gt;special_url&lt;/em&gt;. Any other client that tries to access the &lt;em&gt;special_url&lt;/em&gt; is denied. &lt;span class=&quot;anchor&quot; id=&quot;line-401&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-402&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-403&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-404&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-405&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-406&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-407&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-27&quot;&gt;&lt;/span&gt;acl special_client src 10.1.2.3
&lt;span class=&quot;anchor&quot; id=&quot;line-2-17&quot;&gt;&lt;/span&gt;acl special_url url_regex ^http://www.squid-cache.org/Doc/FAQ/$
&lt;span class=&quot;anchor&quot; id=&quot;line-3-12&quot;&gt;&lt;/span&gt;http_access allow special_client special_url
&lt;span class=&quot;anchor&quot; id=&quot;line-4-9&quot;&gt;&lt;/span&gt;http_access deny special_url&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-408&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;How_can_I_allow_some_clients_to_use_the_cache_at_specific_times.3F&quot;&gt;How can I allow some clients to use the cache at specific times?&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-409&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;Let&#39;s say you have two workstations that should only be allowed access to the Internet during working hours (8:30 - 17:30). You can use something like this: &lt;span class=&quot;anchor&quot; id=&quot;line-410&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-411&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-412&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-413&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-414&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-415&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-416&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-28&quot;&gt;&lt;/span&gt;acl FOO src 10.1.2.3 10.1.2.4
&lt;span class=&quot;anchor&quot; id=&quot;line-2-18&quot;&gt;&lt;/span&gt;acl WORKING time MTWHF 08:30-17:30
&lt;span class=&quot;anchor&quot; id=&quot;line-3-13&quot;&gt;&lt;/span&gt;http_access allow FOO WORKING
&lt;span class=&quot;anchor&quot; id=&quot;line-4-10&quot;&gt;&lt;/span&gt;http_access deny FOO&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-417&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;How_can_I_allow_some_users_to_use_the_cache_at_specific_times.3F&quot;&gt;How can I allow some users to use the cache at specific times?&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-418&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-419&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-420&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-421&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-422&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-423&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-424&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-425&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-426&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-29&quot;&gt;&lt;/span&gt;acl USER1 proxy_auth Dick
&lt;span class=&quot;anchor&quot; id=&quot;line-2-19&quot;&gt;&lt;/span&gt;acl USER2 proxy_auth Jane
&lt;span class=&quot;anchor&quot; id=&quot;line-3-14&quot;&gt;&lt;/span&gt;acl DAY time 06:00-18:00
&lt;span class=&quot;anchor&quot; id=&quot;line-4-11&quot;&gt;&lt;/span&gt;http_access allow USER1 DAY
&lt;span class=&quot;anchor&quot; id=&quot;line-5-7&quot;&gt;&lt;/span&gt;http_access deny USER1
&lt;span class=&quot;anchor&quot; id=&quot;line-6-4&quot;&gt;&lt;/span&gt;http_access allow USER2 !DAY
&lt;span class=&quot;anchor&quot; id=&quot;line-7-4&quot;&gt;&lt;/span&gt;http_access deny USER2&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-427&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;Problems_with_IP_ACL.27s_that_have_complicated_netmasks&quot;&gt;Problems with IP ACL&#39;s that have complicated netmasks&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-428&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;The following ACL entry gives inconsistent or unexpected results: &lt;span class=&quot;anchor&quot; id=&quot;line-429&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-430&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-431&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-432&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-30&quot;&gt;&lt;/span&gt;acl restricted  src 10.0.0.128/255.0.0.128 10.85.0.0/16&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-433&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;The reason is that IP access lists are stored in &quot;splay&quot; tree data structures. These trees require the keys to be sortable. When you use a complicated, or non-standard, netmask (255.0.0.128), it confuses the function that compares two address/mask pairs. &lt;span class=&quot;anchor&quot; id=&quot;line-434&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-435&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line874&quot;&gt;The best way to fix this problem is to use separate ACL names for each ACL value. For example, change the above to: &lt;span class=&quot;anchor&quot; id=&quot;line-436&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-437&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-438&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-439&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-440&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-31&quot;&gt;&lt;/span&gt;acl restricted1 src 10.0.0.128/255.0.0.128
&lt;span class=&quot;anchor&quot; id=&quot;line-2-20&quot;&gt;&lt;/span&gt;acl restricted2 src 10.85.0.0/16&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-441&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;Then, of course, you&#39;ll have to rewrite your &lt;em&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/http_access&quot; title=&quot;SquidConf&quot;&gt;http_access&lt;/a&gt;&lt;/em&gt; lines as well. &lt;span class=&quot;anchor&quot; id=&quot;line-442&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-443&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;Can_I_set_up_ACL.27s_based_on_MAC_address_rather_than_IP.3F&quot;&gt;Can I set up ACL&#39;s based on MAC address rather than IP?&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-444&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;Yes, for some operating systes. Squid calls these &quot;ARP ACLs&quot; and they are supported on Linux, Solaris, and probably BSD variants. &lt;span class=&quot;anchor&quot; id=&quot;line-445&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;table&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;&lt;div class=&quot;line862&quot;&gt;&lt;img alt=&quot;/!\&quot; height=&quot;15&quot; src=&quot;http://www.blogger.com/wiki/squidtheme/img/alert.png&quot; title=&quot;/!\&quot; width=&quot;15&quot; /&gt; &lt;/div&gt;&lt;/td&gt;&lt;td&gt;&lt;div class=&quot;line862&quot;&gt;MAC address is only available for clients that are on the same subnet. If the client is on a different subnet, then Squid can not find out its MAC address as the MAC is replaced by the router MAC when a packet is router. &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-446&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-447&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;To use ARP (MAC) access controls, you first need to compile in the optional code. Do this with the &lt;em&gt;--enable-arp-acl&lt;/em&gt; configure option: &lt;span class=&quot;anchor&quot; id=&quot;line-448&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-449&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-450&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-451&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-452&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-453&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-32&quot;&gt;&lt;/span&gt;% ./configure --enable-arp-acl ...
&lt;span class=&quot;anchor&quot; id=&quot;line-2-21&quot;&gt;&lt;/span&gt;% make clean
&lt;span class=&quot;anchor&quot; id=&quot;line-3-15&quot;&gt;&lt;/span&gt;% make&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-454&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;If &lt;em&gt;src/acl.c&lt;/em&gt; doesn&#39;t compile, then ARP ACLs are probably not supported on your system. &lt;span class=&quot;anchor&quot; id=&quot;line-455&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-456&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;If everything compiles, then you can add some ARP ACL lines to your &lt;em&gt;squid.conf&lt;/em&gt;: &lt;span class=&quot;anchor&quot; id=&quot;line-457&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-458&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-459&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-460&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-461&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-462&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-463&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-464&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-33&quot;&gt;&lt;/span&gt;acl M1 arp 01:02:03:04:05:06
&lt;span class=&quot;anchor&quot; id=&quot;line-2-22&quot;&gt;&lt;/span&gt;acl M2 arp 11:12:13:14:15:16
&lt;span class=&quot;anchor&quot; id=&quot;line-3-16&quot;&gt;&lt;/span&gt;http_access allow M1
&lt;span class=&quot;anchor&quot; id=&quot;line-4-12&quot;&gt;&lt;/span&gt;http_access allow M2
&lt;span class=&quot;anchor&quot; id=&quot;line-5-8&quot;&gt;&lt;/span&gt;http_access deny all&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-465&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;Can_I_limit_the_number_of_connections_from_a_client.3F&quot;&gt;Can I limit the number of connections from a client?&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-466&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;Yes, use the &lt;em&gt;maxconn&lt;/em&gt; ACL type in conjunction with &lt;em&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/http_access&quot; title=&quot;SquidConf&quot;&gt;http_access&lt;/a&gt; deny&lt;/em&gt;. For example: &lt;span class=&quot;anchor&quot; id=&quot;line-467&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-468&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-469&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-470&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-471&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-472&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-34&quot;&gt;&lt;/span&gt;acl losers src 1.2.3.0/24
&lt;span class=&quot;anchor&quot; id=&quot;line-2-23&quot;&gt;&lt;/span&gt;acl 5CONN maxconn 5
&lt;span class=&quot;anchor&quot; id=&quot;line-3-17&quot;&gt;&lt;/span&gt;http_access deny 5CONN losers&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-473&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;Given the above configuration, when a client whose source IP address is in the 1.2.3.0/24 subnet tries to establish 6 or more connections at once, Squid returns an error page. Unless you use the &lt;em&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/deny_info&quot; title=&quot;SquidConf&quot;&gt;deny_info&lt;/a&gt;&lt;/em&gt; feature, the error message will just say &quot;access denied.&quot; &lt;span class=&quot;anchor&quot; id=&quot;line-474&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-475&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;The &lt;em&gt;maxconn&lt;/em&gt; ACL requires the &lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/client_db&quot; title=&quot;SquidConf&quot;&gt;client_db&lt;/a&gt; feature. If you&#39;ve disabled &lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/client_db&quot; title=&quot;SquidConf&quot;&gt;client_db&lt;/a&gt; (for example with &lt;em&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/client_db&quot; title=&quot;SquidConf&quot;&gt;client_db&lt;/a&gt; off&lt;/em&gt;) then &lt;em&gt;maxconn&lt;/em&gt; ALCs will not work. &lt;span class=&quot;anchor&quot; id=&quot;line-476&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-477&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;Note, the &lt;em&gt;maxconn&lt;/em&gt; ACL type is kind of tricky because it uses less-than comparison. The ACL is a match when the number of established connections is &lt;em&gt;greater&lt;/em&gt; than the value you specify. Because of that, you don&#39;t want to use the &lt;em&gt;maxconn&lt;/em&gt; ACL with &lt;em&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/http_access&quot; title=&quot;SquidConf&quot;&gt;http_access&lt;/a&gt; allow&lt;/em&gt;. &lt;span class=&quot;anchor&quot; id=&quot;line-478&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-479&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;Also note that you could use &lt;em&gt;maxconn&lt;/em&gt; in conjunction with a user type (ident, proxy_auth), rather than an IP address type. &lt;span class=&quot;anchor&quot; id=&quot;line-480&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-481&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;I.27m_trying_to_deny_.27.27foo.com.27.27.2C_but_it.27s_not_working.&quot;&gt;I&#39;m trying to deny &#39;&#39;foo.com&#39;&#39;, but it&#39;s not working.&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-482&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;In Squid-2.3 we changed the way that Squid matches subdomains. There is a difference between &lt;em&gt;.foo.com&lt;/em&gt; and &lt;em&gt;foo.com&lt;/em&gt;. The first matches any domain in &lt;em&gt;foo.com&lt;/em&gt;, while the latter matches only &quot;foo.com&quot; exactly. So if you want to deny &lt;em&gt;bar.foo.com&lt;/em&gt;, you should write &lt;span class=&quot;anchor&quot; id=&quot;line-483&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-484&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-485&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-486&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-487&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-35&quot;&gt;&lt;/span&gt;acl yuck dstdomain .foo.com
&lt;span class=&quot;anchor&quot; id=&quot;line-2-24&quot;&gt;&lt;/span&gt;http_access deny yuck&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-488&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;I_want_to_customize.2C_or_make_my_own_error_messages.&quot;&gt;I want to customize, or make my own error messages.&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-489&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;You can customize the existing error messages as described in &lt;em&gt;Customizable Error Messages&lt;/em&gt; in &lt;a href=&quot;http://www.blogger.com/SquidFaq/MiscFeatures&quot;&gt;SquidFaq/MiscFeatures&lt;/a&gt;. You can also create new error messages and use these in conjunction with the &lt;em&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/deny_info&quot; title=&quot;SquidConf&quot;&gt;deny_info&lt;/a&gt;&lt;/em&gt; option. &lt;span class=&quot;anchor&quot; id=&quot;line-490&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-491&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;For example, lets say you want your users to see a special message when they request something that matches your pornography list. First, create a file named ERR_NO_PORNO in the &lt;em&gt;/usr/local/squid/etc/errors&lt;/em&gt; directory. That file might contain something like this: &lt;span class=&quot;anchor&quot; id=&quot;line-492&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-493&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-494&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-495&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-496&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-497&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-36&quot;&gt;&lt;/span&gt;Our company policy is to deny requests to known porno sites.  If you
&lt;span class=&quot;anchor&quot; id=&quot;line-2-25&quot;&gt;&lt;/span&gt;feel you&#39;ve received this message in error, please contact
&lt;span class=&quot;anchor&quot; id=&quot;line-3-18&quot;&gt;&lt;/span&gt;the support staff (support@this.company.com, 555-1234).&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-498&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;Next, set up your access controls as follows: &lt;span class=&quot;anchor&quot; id=&quot;line-499&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-500&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-501&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-502&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-503&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-504&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-505&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-37&quot;&gt;&lt;/span&gt;acl porn url_regex &quot;/usr/local/squid/etc/porno.txt&quot;
&lt;span class=&quot;anchor&quot; id=&quot;line-2-26&quot;&gt;&lt;/span&gt;deny_info ERR_NO_PORNO porn
&lt;span class=&quot;anchor&quot; id=&quot;line-3-19&quot;&gt;&lt;/span&gt;http_access deny porn
&lt;span class=&quot;anchor&quot; id=&quot;line-4-13&quot;&gt;&lt;/span&gt;(additional http_access lines ...)&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-506&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;I_want_to_use_local_time_zone_in_error_messages.&quot;&gt;I want to use local time zone in error messages.&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-507&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;Squid, by default, uses GMT as timestamp in all generated error messages. This to allow the cache to participate in a hierarchy of caches in different timezones without risking confusion about what the time is. &lt;span class=&quot;anchor&quot; id=&quot;line-508&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-509&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;To change the timestamp in Squid generated error messages you must change the Squid signature. See &lt;em&gt;Customizable Error Messages&lt;/em&gt; in &lt;a href=&quot;http://www.blogger.com/SquidFaq/MiscFeatures&quot;&gt;MiscFeatures&lt;/a&gt;. The signature by defaults uses %T as timestamp, but if you like then you can use %t instead for a timestamp using local time zone. &lt;span class=&quot;anchor&quot; id=&quot;line-510&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-511&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;I_want_to_put_ACL_parameters_in_an_external_file.&quot;&gt;I want to put ACL parameters in an external file.&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-512&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;by Adam Aube &lt;span class=&quot;anchor&quot; id=&quot;line-513&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-514&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;Squid can read ACL parameters from an external file. To do this, first place the acl parameters, one per line, in a file. Then, on the ACL line in &lt;em&gt;squid.conf&lt;/em&gt;, put the full path to the file in double quotes. &lt;span class=&quot;anchor&quot; id=&quot;line-515&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-516&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line874&quot;&gt;For example, instead of: &lt;span class=&quot;anchor&quot; id=&quot;line-517&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-518&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-519&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-520&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-38&quot;&gt;&lt;/span&gt;acl trusted_users proxy_auth john jane jim&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-521&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;you would have: &lt;span class=&quot;anchor&quot; id=&quot;line-522&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-523&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-524&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-525&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-39&quot;&gt;&lt;/span&gt;acl trusted_users proxy_auth &quot;/usr/local/squid/etc/trusted_users.txt&quot;&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-526&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line874&quot;&gt;Inside trusted_users.txt, there is: &lt;span class=&quot;anchor&quot; id=&quot;line-527&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-528&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-529&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-530&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-531&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-532&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-40&quot;&gt;&lt;/span&gt;john
&lt;span class=&quot;anchor&quot; id=&quot;line-2-27&quot;&gt;&lt;/span&gt;jane
&lt;span class=&quot;anchor&quot; id=&quot;line-3-20&quot;&gt;&lt;/span&gt;jim&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-533&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;I_want_to_authorize_users_depending_on_their_MS_Windows_group_memberships&quot;&gt;I want to authorize users depending on their MS Windows group memberships&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-534&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;There is an excellent resource over at &lt;a class=&quot;http&quot; href=&quot;http://workaround.org/squid-ldap&quot;&gt;http://workaround.org/squid-ldap&lt;/a&gt; on how to use LDAP-based group membership checking. &lt;span class=&quot;anchor&quot; id=&quot;line-535&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-536&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;Also the &lt;a href=&quot;http://www.blogger.com/ConfigExamples/Authenticate/Ldap&quot;&gt;LDAP&lt;/a&gt; or &lt;a href=&quot;http://www.blogger.com/ConfigExamples/Authenticate/WindowsActiveDirectory&quot;&gt;Active Directory&lt;/a&gt; config example here in the squid wiki might prove useful. &lt;span class=&quot;anchor&quot; id=&quot;line-537&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-538&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;Maximum_length_of_an_acl_name&quot;&gt;Maximum length of an acl name&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-539&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line862&quot;&gt;By default the maximum length of an ACL name is 32-1 = 31 characters, but it can be changed by editing the source: in &lt;em&gt;defines.h&lt;/em&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-540&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-541&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-542&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-543&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-1-41&quot;&gt;&lt;/span&gt;#define ACL_NAME_SZ 32&lt;/pre&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-544&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;h2 id=&quot;Fast_and_Slow_ACLs&quot;&gt;Fast and Slow ACLs&lt;/h2&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-545&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;acl_types&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-546&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-547&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;Some ACL types require information which may not be already available to Squid. Checking them requires suspending work on the current request, querying some external source, and resuming work when the needed information becomes available. This is for example the case for DNS, authenticators or external authorization scripts. ACLs can thus be divided in &lt;strong&gt;FAST&lt;/strong&gt; ACLs, which do not require going to external sources to be fulfilled, and &lt;strong&gt;SLOW&lt;/strong&gt; ACLs, which do. &lt;span class=&quot;anchor&quot; id=&quot;line-548&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-549&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line874&quot;&gt;Fast ACLs include (as of squid 3.1.0.7): &lt;span class=&quot;anchor&quot; id=&quot;line-550&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-551&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;all (built-in) &lt;span class=&quot;anchor&quot; id=&quot;line-552&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;src &lt;span class=&quot;anchor&quot; id=&quot;line-553&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;dstdomain &lt;span class=&quot;anchor&quot; id=&quot;line-554&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;dstdom_regex &lt;span class=&quot;anchor&quot; id=&quot;line-555&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;myip &lt;span class=&quot;anchor&quot; id=&quot;line-556&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;arp &lt;span class=&quot;anchor&quot; id=&quot;line-557&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;src_as &lt;span class=&quot;anchor&quot; id=&quot;line-558&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;peername &lt;span class=&quot;anchor&quot; id=&quot;line-559&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;time &lt;span class=&quot;anchor&quot; id=&quot;line-560&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;url_regex &lt;span class=&quot;anchor&quot; id=&quot;line-561&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;urlpath_regex &lt;span class=&quot;anchor&quot; id=&quot;line-562&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;port &lt;span class=&quot;anchor&quot; id=&quot;line-563&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;myport &lt;span class=&quot;anchor&quot; id=&quot;line-564&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;myportname &lt;span class=&quot;anchor&quot; id=&quot;line-565&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;proto &lt;span class=&quot;anchor&quot; id=&quot;line-566&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;method &lt;span class=&quot;anchor&quot; id=&quot;line-567&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;http_status {R} &lt;span class=&quot;anchor&quot; id=&quot;line-568&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;browser &lt;span class=&quot;anchor&quot; id=&quot;line-569&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;referer_regex &lt;span class=&quot;anchor&quot; id=&quot;line-570&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;snmp_community &lt;span class=&quot;anchor&quot; id=&quot;line-571&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;maxconn &lt;span class=&quot;anchor&quot; id=&quot;line-572&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;max_user_ip &lt;span class=&quot;anchor&quot; id=&quot;line-573&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;req_mime_type &lt;span class=&quot;anchor&quot; id=&quot;line-574&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;req_header &lt;span class=&quot;anchor&quot; id=&quot;line-575&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;rep_mime_type {R} &lt;span class=&quot;anchor&quot; id=&quot;line-576&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;user_cert &lt;span class=&quot;anchor&quot; id=&quot;line-577&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;ca_cert &lt;span class=&quot;anchor&quot; id=&quot;line-578&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-579&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;line874&quot;&gt;Slow ACLs include: &lt;span class=&quot;anchor&quot; id=&quot;line-580&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-581&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;dst &lt;span class=&quot;anchor&quot; id=&quot;line-582&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;dst_as &lt;span class=&quot;anchor&quot; id=&quot;line-583&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;srcdomain &lt;span class=&quot;anchor&quot; id=&quot;line-584&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;srcdom_regex &lt;span class=&quot;anchor&quot; id=&quot;line-585&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;ident &lt;span class=&quot;anchor&quot; id=&quot;line-586&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;ident_regex &lt;span class=&quot;anchor&quot; id=&quot;line-587&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;proxy_auth &lt;span class=&quot;anchor&quot; id=&quot;line-588&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;proxy_auth_regex &lt;span class=&quot;anchor&quot; id=&quot;line-589&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;external &lt;span class=&quot;anchor&quot; id=&quot;line-590&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;ext_user &lt;span class=&quot;anchor&quot; id=&quot;line-591&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;ext_user_regex &lt;span class=&quot;anchor&quot; id=&quot;line-592&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-593&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;line862&quot;&gt;This list may be incomplete or out-of-date. See your &lt;tt&gt;squid.conf.documented&lt;/tt&gt; file for details. ACL types marked with {R} are &lt;em&gt;reply&lt;/em&gt; ACLs, see the dedicated FAQ chapter. &lt;span class=&quot;anchor&quot; id=&quot;line-594&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-595&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line874&quot;&gt;Squid caches the results of ACL lookups whenever possible, thus slow ACLs will not always need to go to the external data-source. &lt;span class=&quot;anchor&quot; id=&quot;line-596&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-597&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;Knowing the behaviour of an ACL type is relevant because not all ACL matching directives support all kinds of ACLs. Some check-points will &lt;strong&gt;not&lt;/strong&gt; suspend the request: they allow (or deny) immediately. If a SLOW acl has to be checked, and the results of the check are not cached, the corresponding ACL result will be as if it didn&#39;t match. In other words, such ACL types are in general not reliable in all access check clauses. &lt;span class=&quot;anchor&quot; id=&quot;line-598&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-599&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line862&quot;&gt;The following are &lt;strong&gt;SLOW&lt;/strong&gt; access clauses: &lt;span class=&quot;anchor&quot; id=&quot;line-600&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-601&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/http_access&quot; title=&quot;SquidConf&quot;&gt;http_access&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-602&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/http_access2&quot; title=&quot;SquidConf&quot;&gt;http_access2&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-603&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/http_reply_access&quot; title=&quot;SquidConf&quot;&gt;http_reply_access&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-604&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/url_rewrite_access&quot; title=&quot;SquidConf&quot;&gt;url_rewrite_access&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-605&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/storeurl_access&quot; title=&quot;SquidConf&quot;&gt;storeurl_access&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-606&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/location_rewrite_access&quot; title=&quot;SquidConf&quot;&gt;location_rewrite_access&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-607&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/always_direct&quot; title=&quot;SquidConf&quot;&gt;always_direct&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-608&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/never_direct&quot; title=&quot;SquidConf&quot;&gt;never_direct&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-609&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/cache&quot; title=&quot;SquidConf&quot;&gt;cache&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-610&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-611&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;line862&quot;&gt;These are instead &lt;strong&gt;FAST&lt;/strong&gt; access clauses: &lt;span class=&quot;anchor&quot; id=&quot;line-612&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-613&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/icp_access&quot; title=&quot;SquidConf&quot;&gt;icp_access&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-614&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/htcp_access&quot; title=&quot;SquidConf&quot;&gt;htcp_access&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-615&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/htcp_clr_access&quot; title=&quot;SquidConf&quot;&gt;htcp_clr_access&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-616&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/miss_access&quot; title=&quot;SquidConf&quot;&gt;miss_access&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-617&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/ident_lookup_access&quot; title=&quot;SquidConf&quot;&gt;ident_lookup_access&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-618&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/reply_body_max_size&quot; title=&quot;SquidConf&quot;&gt;reply_body_max_size&lt;/a&gt; {R} &lt;span class=&quot;anchor&quot; id=&quot;line-619&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/authenticate_ip_shortcircuit_access&quot; title=&quot;SquidConf&quot;&gt;authenticate_ip_shortcircuit_access&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-620&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/log_access&quot; title=&quot;SquidConf&quot;&gt;log_access&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-621&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/header_access&quot; title=&quot;SquidConf&quot;&gt;header_access&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-622&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/delay_access&quot; title=&quot;SquidConf&quot;&gt;delay_access&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-623&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/snmp_access&quot; title=&quot;SquidConf&quot;&gt;snmp_access&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-624&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/cache_peer_access&quot; title=&quot;SquidConf&quot;&gt;cache_peer_access&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-625&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/ssl_bump&quot; title=&quot;SquidConf&quot;&gt;ssl_bump&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-626&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/sslproxy_cert_error&quot; title=&quot;SquidConf&quot;&gt;sslproxy_cert_error&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-627&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;br /&gt;
&lt;div class=&quot;line891&quot;&gt;&lt;a class=&quot;interwiki&quot; href=&quot;http://www.eu.squid-cache.org/Doc/config/follow_x_forwarded_for&quot; title=&quot;SquidConf&quot;&gt;follow_x_forwarded_for&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-628&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-629&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class=&quot;line874&quot;&gt;Thus the safest course of action is to only use fast ACLs in fast access clauses, and any kind of ACL in slow access clauses. &lt;span class=&quot;anchor&quot; id=&quot;line-630&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-631&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line874&quot;&gt;A possible workaround which can mitigate the effect of this characteristic consists in exploiting caching, by setting some &quot;useless&quot; ACL checks in slow clauses, so that subsequent fast clauses may have a cached result to evaluate against. &lt;span class=&quot;anchor&quot; id=&quot;line-632&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-633&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-634&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;line867&quot;&gt;&lt;/div&gt;&lt;hr class=&quot;hr1&quot; /&gt;&lt;div class=&quot;line874&quot;&gt;&lt;span class=&quot;anchor&quot; id=&quot;line-635&quot;&gt;&lt;/span&gt;Back to the &lt;a href=&quot;http://www.blogger.com/SquidFaq&quot;&gt;SquidFaq&lt;/a&gt; &lt;span class=&quot;anchor&quot; id=&quot;line-636&quot;&gt;&lt;/span&gt;&lt;span class=&quot;anchor&quot; id=&quot;bottom&quot;&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id=&quot;pagebottom&quot;&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/8801279616363499088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/05/squid-access-lists.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/8801279616363499088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/8801279616363499088'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/05/squid-access-lists.html' title='Squid Access Lists'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4546976270960915149.post-3528432637921905717</id><published>2010-05-11T15:15:00.000+04:00</published><updated>2010-05-11T15:15:50.255+04:00</updated><title type='text'>apt-get, aptitude, autoremove and orphans</title><content type='html'>Until some weeks ago I used to use only apt-get, and then I realized that aptitude is better in taking care of orphan packages.&lt;br /&gt;
&lt;br /&gt;
I am no expert here, but this is the way I think they both work, at least on Debian Etch, I have heard that in Lenny both works more or less the same, I use Lenny, and yes they can do the same thing but in different ways.&lt;br /&gt;
&lt;br /&gt;
Well when you install a package with apt-get, and that packages needs other packages due to dependencies, it will install all of them for you, which is great, but then when you want to remove the installed package, apt-get will let the automatically installed packages in your PC, while aptitude will rid them away. Aptitude marks all installed packages as &quot;manual installed&quot; and &quot;automatically installed&quot;, the first are those you explicitly ask it to install and the latter are those which it decided to install by you, because they are needed, so when you ask aptitude to remove a package it will remove also the automatically installed ones, since Lenny you can use them both, just be sure to use autoremove with apt-get&lt;br /&gt;
&lt;br /&gt;
Here are some examples with mplayer&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;ggarron@debian:~$ sudo apt-get install mplayer
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  libamrnb3 libamrwb3 libasyncns0 libfaac0 libggi2 libgii1 libgii1-target-x libpulse0 libx264-57 libxvidcore4 mplayer-skin-blue
Suggested packages:
  libggi-target-emu libggi-target-monotext libggimisc2 pulseaudio mplayer-doc w32codecs
Recommended packages:
  libggi-target-x libggi-target
The following NEW packages will be installed:
  libamrnb3 libamrwb3 libasyncns0 libfaac0 libggi2 libgii1 libgii1-target-x libpulse0 libx264-57 libxvidcore4 mplayer mplayer-skin-blue
0 upgraded, 12 newly installed, 0 to remove and 100 not upgraded.
Need to get 0B/6785kB of archives.
After unpacking 15.7MB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Selecting previously deselected package libasyncns0.
(Reading database ... 116538 files and directories currently installed.)
Unpacking libasyncns0 (from .../libasyncns0_0.3-1_i386.deb) ...
Selecting previously deselected package libfaac0.
Unpacking libfaac0 (from .../libfaac0_1.26-0.1_i386.deb) ...
Selecting previously deselected package libgii1-target-x.
Unpacking libgii1-target-x (from .../libgii1-target-x_1%3a1.0.1-3_i386.deb) ...
Selecting previously deselected package libgii1.
Unpacking libgii1 (from .../libgii1_1%3a1.0.1-3_i386.deb) ...
Selecting previously deselected package libggi2.
Unpacking libggi2 (from .../libggi2_1%3a2.2.1-5_i386.deb) ...
Selecting previously deselected package libpulse0.
Unpacking libpulse0 (from .../libpulse0_0.9.9-1_i386.deb) ...
Selecting previously deselected package libx264-57.
Unpacking libx264-57 (from .../libx264-57_0.svn20071224-0.0_i386.deb) ...
Selecting previously deselected package libxvidcore4.
Unpacking libxvidcore4 (from .../libxvidcore4_2%3a1.1.3-0.3_i386.deb) ...
Selecting previously deselected package mplayer-skin-blue.
Unpacking mplayer-skin-blue (from .../mplayer-skin-blue_1.6-2_all.deb) ...
Selecting previously deselected package libamrnb3.
Unpacking libamrnb3 (from .../libamrnb3_7.0.0.0-0.0_i386.deb) ...
Selecting previously deselected package libamrwb3.
Unpacking libamrwb3 (from .../libamrwb3_7.0.0.2-0.1_i386.deb) ...
Selecting previously deselected package mplayer.
Unpacking mplayer (from .../mplayer_1%3a1.0.rc2svn20071207-0.2_i386.deb) ...
Setting up libasyncns0 (0.3-1) ...
Setting up libfaac0 (1.26-0.1) ...
Setting up libgii1-target-x (1:1.0.1-3) ...
Setting up libgii1 (1:1.0.1-3) ...
Setting up libggi2 (1:2.2.1-5) ...
Setting up libpulse0 (0.9.9-1) ...
Setting up libx264-57 (0.svn20071224-0.0) ...
Setting up libxvidcore4 (2:1.1.3-0.3) ...
Setting up mplayer-skin-blue (1.6-2) ...
Setting up libamrnb3 (7.0.0.0-0.0) ...
Setting up libamrwb3 (7.0.0.2-0.1) ...
Setting up mplayer (1:1.0.rc2svn20071207-0.2) ...
&lt;/pre&gt;It is now installed, lets uninstall it, first using apt-get &lt;br /&gt;
&lt;pre&gt;ggarron@debian:~$ sudo apt-get remove mplayer
[sudo] password for ggarron: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libxvidcore4 libamrnb3 libx264-57 libamrwb3 libggi2 libgii1 mplayer-skin-blue libgii1-target-x libasyncns0 libpulse0 libfaac0
Use &#39;apt-get autoremove&#39; to remove them.
The following packages will be REMOVED:
  mplayer
0 upgraded, 0 newly installed, 1 to remove and 100 not upgraded.
Need to get 0B of archives.
After unpacking 10.8MB disk space will be freed.
&lt;/pre&gt;As you can see not all the dependencies are going to be uninstalled, and apt-get itself recommends you to use &lt;code&gt;autoremove&lt;/code&gt;&lt;br /&gt;
Let&#39;s try with it now:&lt;br /&gt;
&lt;pre&gt;ggarron@debian:~$ sudo apt-get autoremove mplayer
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libxvidcore4 libamrnb3 libx264-57 libamrwb3 libggi2 libgii1 mplayer-skin-blue libgii1-target-x libasyncns0 libpulse0 libfaac0
The following packages will be REMOVED:
  libamrnb3 libamrwb3 libasyncns0 libfaac0 libggi2 libgii1 libgii1-target-x libpulse0 libx264-57 libxvidcore4 mplayer mplayer-skin-blue
0 upgraded, 0 newly installed, 12 to remove and 100 not upgraded.
Need to get 0B of archives.
After unpacking 15.7MB disk space will be freed.
&lt;/pre&gt;Now it is working better, try now aptitude&lt;br /&gt;
&lt;pre&gt;ggarron@debian:~$ sudo aptitude remove mplayer
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Reading extended state information      
Initializing package states... Done
Reading task descriptions... Done  
Building tag database... Done    
The following packages are unused and will be REMOVED:
  libamrnb3 libamrwb3 libasyncns0 libfaac0 libggi2 libgii1 libgii1-target-x libpulse0 libx264-57 libxvidcore4 mplayer-skin-blue 
The following packages have been automatically kept back:
  cpp-4.2 dpkg-dev evolution evolution-common evolution-data-server evolution-data-server-common g++-4.2 gcc-4.2 gij gnome-cards-data gnome-games gnome-games-data gnome-mount gtk2-engines-pixbuf 
  java-gcj-compat kdelibs4c2a libafterimage0 libaprutil1 libcupsimage2 libcupsys2 libcurl3 libcurl3-gnutls libexchange-storage1.2-3 libffi4 libgcj-bc libgconf2-4 libglib2.0-0 libgomp1 libgtk2.0-0 
  libgtk2.0-bin libgtk2.0-common libhsqldb-java libopal-2.2 libpq5 libpt-1.10.10 libqt4-core libqt4-gui libqt4-qt3support libqt4-sql libsane libsmbclient libsoup2.2-8 libstdc++6-4.2-dev libungif4g libxine1 
  libxine1-console libxine1-ffmpeg libxine1-gnome libxine1-misc-plugins libxine1-plugins libxine1-x liferea-xulrunner nautilus nautilus-cd-burner nautilus-data openoffice.org-base openoffice.org-calc 
  openoffice.org-common openoffice.org-core openoffice.org-draw openoffice.org-filter-binfilter openoffice.org-gtk openoffice.org-impress openoffice.org-math openoffice.org-officebean 
  openoffice.org-style-andromeda openoffice.org-style-tango openoffice.org-writer python-apt python-uno qt4-qtconfig vim-gnome vim-gui-common vim-runtime 
The following packages have been kept back:
  apt apt-utils aptitude cupsys epiphany-browser epiphany-extensions evolution-exchange evolution-plugins evolution-webcal gcc-4.2-base gnupg gthumb hardinfo imagemagick libgcc1 libnfsidmap2 libstdc++6 
  liferea netcat openoffice.org openoffice.org-evolution openoffice.org-gnome openoffice.org-help-en-us synaptic vim-common vim-tiny 
The following packages will be REMOVED:
  mplayer 
0 packages upgraded, 0 newly installed, 12 to remove and 100 not upgraded.
Need to get 0B of archives. After unpacking 15.7MB will be freed.
Do you want to continue? [Y/n/?] n
&lt;/pre&gt;&lt;br /&gt;
It works the same, so since Lenny it seems to be the same if you use apt-get or aptitude, but until Etch (I have not tested it) you better use aptitude as apt-get does not take care of the orphans.</content><link rel='replies' type='application/atom+xml' href='http://linux-hat.blogspot.com/feeds/3528432637921905717/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://linux-hat.blogspot.com/2010/05/apt-get-aptitude-autoremove-and-orphans.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/3528432637921905717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4546976270960915149/posts/default/3528432637921905717'/><link rel='alternate' type='text/html' href='http://linux-hat.blogspot.com/2010/05/apt-get-aptitude-autoremove-and-orphans.html' title='apt-get, aptitude, autoremove and orphans'/><author><name>Information</name><uri>http://www.blogger.com/profile/18016337435230933888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>