Slashdot Mirror


How to Work Around Broken Port-80 Routing?

Dr. Zowie writes "My ISP places an opaque (intended to be transparent) web proxy between me and the rest of the world. It is causing me problems due to misconfiguration or misdesign. My question is twofold. On the micro level, what can I do in the short term to work around the broken routing (in the long term, I switch ISPs if it's not fixed)? On the macro level, what can we as a community do to prevent breakage of the net on a global scale by poorly designed routing hacks?"

Dr. Zowie continues: "I use a regional ISP with otherwise-very-good policies. However, they seem to be intercepting anything that comes from my home net on port 80, so that they can ``transparently'' cache web requests based on the payload of those packets. The proxy seems to work rather well in most cases: I never noticed it until I started using OpenNIC. Then I found that some web pages that should have resolved OK through the OpenNIC system failed even though routing on different ports worked OK.

"I did some experimentation using ``telnet'' on port 80 directly, and found that packets are being routed based only on the payload regardless of the original destination address: I can (for example) retrieve the Slashdot front page by using ``telnet www.google.com 80'' and asking for "http://www.slashdot.org http/1.1". The tech support folks seem to be stonewalling me: the main contact tells me that the behavior is "not broken" even though it clearly violates RFC 1812, the standard set of rules for IP routing.

"The practice of ``transparent'' proxy routing seems to be growing more widespread. It appears to break the internet standard in a way that works for most folks for now, but that breaks port 80 usage in general. Looking ahead, this breakage seems like a growing nightmare waiting to happen. At the very least, I expect more instances of my particular problem to appear as folks give up on the corporate hegemony of ICANN. More insidiously, transparent proxy routers break the layered nature of the internet protocol and restrict the flexibility that made it work in the first place. One would hope that such proxies would at least act like routers when the fancier proxying fails, but at least my ISP's doesn't. What about your ISP's?"

323 comments

  1. Use netcat... by samrolken · · Score: 4, Informative

    You can use netcat to route your own port 80 traffic. Simply get a good UNIX shell account, and configure your router to direct to that. It becomes a real version of what you would be trying to do. However, I would bitch like crazy if my ISP did anything like that to me. If I want to connect to port 80 on something, I would want to be connecting to such port 80. Any fiddling with it would sure make me drop that ISP in an instant.

    --
    samrolken
  2. Re:Use netcat... or your own proxy server... by samrolken · · Score: 2, Informative

    Or, you could use your own proxy server, like Squid for UNIX or AnalogX Proxy for Win32. You might try something like the port + 65536 rule. Port 80 becomes port 65616 or something (That may not be precise), and that would confuse your router, but still be port 80. I used a similar trick to get around similar proxying at school.

    --
    samrolken
  3. Tunneling by Matthaeus · · Score: 3, Interesting

    I recently had this problem with my university account...They route all resnet web traffic through an old 386 proxy server that can't handle the load. Find a free proxy out there and SSH tunnel to it. I'm sure there are more elegant means of getting through a poorly configured proxy, but this'll work as a quick fix.

  4. The proper policy by Anonymous Coward · · Score: 0

    The proper policy for an isp should be using an optional proxy.

    That's how my connection works, and it works just beautifully - since I can set it to use the proxy for some sites, but not other :)

    Perfect for all uses. and the average user has no idea :)

  5. one possible solution by ruud · · Score: 2

    find a friend who has a colocated server or dsl connection.

    then use that machine as a web proxy, or set up an ipsec tunnel to that machine and route your port 80 traffic through that tunnel.

    --
    bgphints - internet routing news, hints and ti
  6. Re:Use netcat... or someone else's proxy server by samrolken · · Score: 4, Informative

    I should have posted all this in one comment... oh well...

    You could also use a third party proxy server. You can find gobs of them here:

    http://tools.rosinstrument.com/proxy/

    and here:

    http://directory.google.com/Top/Computers/Intern et /Proxies/Free/?tc=1

    --
    samrolken
  7. Use a different port, add use webhop.org by Anonymous Coward · · Score: 0

    many ISPs do this, just use a different port. I use
    port 8001

  8. Wasn't port 80 supposed to be HTTP? by Brecker · · Score: 1

    The real problem is that you're probably using port 80 for something other than what it's explicit purpose. Port 80 is the domain of HTTP, which has its own set of rules.

    As long as you're using HTTP, the "payload" is all that matters! A proxy is certainly not required to route anything anywhere! It's your fault--not your ISP's--that you choose to disregard the other relevant standards. If you would embrace the DNS standard, HTTP standard and the routing standard, you'd have no troubles.

    1. Re:Wasn't port 80 supposed to be HTTP? by Dr.+Zowie · · Score: 2

      Actually, that's not true. Often you want to send an arbitrary HTTP request to an arbitrary host. See my example in the article.

      Cheers,
      Craig

    2. Re:Wasn't port 80 supposed to be HTTP? by Anonymous Coward · · Score: 0

      Could you please read the question before posting a reply?

      Thanks.

    3. Re:Wasn't port 80 supposed to be HTTP? by Jerf · · Score: 5, Insightful

      I reply to this because I bet a lot of people are going to think this.

      The real problem is that you're probably using port 80 for something other than what it's explicit purpose.

      No, that's not it at all. Follow the openNIC link.

      What he's trying to do is resolve an address, via the perfectly standard and normal DNS protocol, with an alternative root server. This is also perfectly standard and normal. This is not a violation of DNS, nor any other protocol, nor is it a particularly wierd thing to want to do. (Unusual, but perfectly normal.)

      The problem is that his ISP is catching all traffic to port 80, and redirecting it to their proxy. Thus, when he asks for "http://www.something.nonstandardroot", the web proxy is interfering with the request (presumably after his home computer correctly resolved the DNS address of www.something.nonstandardroot), catching the GET part of the HTTP request, extracting the server name, and attempting on it's own to resolve the name.

      (Note this is a complete waste: The home computer has probably already resolved the address, now the proxy will resolve it again.)

      Unfortunately, the proxy is too ignorant to know how to resolve the alternate DNS address. It's not incapable in the technical sense, it just doesn't understand root servers it's not configured for. The problem is that this means that the perfectly normal and acceptable HTTP request, for an HTML document, on an IP address the client computer has already perfectly normally resolved, gets lost, because the proxy doesn't know how to resolve the address. Bad proxy!

      A workaround, albiet a sucky one, is to resolve the address on one's home computer, then go to that IP address manually. This still causes problems on subdomain-aware webservers, where several domains or subdomains may all come from the same IP address, and the server wants to use the host part of the HTTP GET request to differentiate what to serve. (You could code up a quick Python/TK script to do this, but it'll still suck.)

      So, when you say a proxy is not required to route anything anywhere, you've accidentally hit on the exact problem: a proxy shouldn't be routing, because it may not know how. This proxy tries to. That's why it sucks.

      And to cover the last part of your post, there's absolutely nothing non-standard about any of this, except the behavior of the proxy, which is the only thing in this whole mess that hasn't "embrace[d] the DNS standard, HTTP standard and the routing standard". ICANN's root servers are not written into RFC's. They are merely common practice, one that many people, probably correctly, believe is an increasingly dangerous common practice. (You may not completely agree, but the opinions deserve consideration.)

    4. Re:Wasn't port 80 supposed to be HTTP? by SquierStrat · · Score: 1

      One word: Huh?

      --
      Derek Greene
    5. Re:Wasn't port 80 supposed to be HTTP? by Anonymous Coward · · Score: 0
      That's not the problem. Internet protocol dictates that if a request is made to transmit/receive an IP datagram between host A and host B, it gets there.


      There is nothing in any RFC that states, 'An attempt to open a port on a specific host may also open a port on some other host inbetween, which may or may not forward the request'.


      This is analogous to the U.S. Post Office opening your mail destined for John Doe, Anytown and inspecting the contents. If there is nothing inside the envelope, they'll just trash it.



      So as far as your understanding of DNS/HTTP standards go, keep trying.

    6. Re:Wasn't port 80 supposed to be HTTP? by Anonymous Coward · · Score: 0

      You can use port 80 for anything you please.
      It doesn't have to be HTTP.

      You can also run HTTP on any port that suits your fancy.

    7. Re:Wasn't port 80 supposed to be HTTP? by chriton · · Score: 1

      I'm probably an id10t for even taking the time to reply to this sad post, but...

      HTTP is an application layer protocol. What the ISP is doing to try and make their proxy "transparant" is changing the way the internet layer is working.

      The ISP should be determining if you are making a true HTTP request at their gateway router(s) and rerouting from there if appropriate. If you aren't making an HTTP request, the proxy should stop interferring with your request and let it pass normally.

      I would have to say that clue-free poster to whom I am idiotically reponding is the one who isn't "embracing the DNS standard, HTTP standard and the routing standard". Probably because (s)he doesn't know what they are.

      I a little port 80 knowledge is a dangerous thing.

      --
      "Bishops and Bookies live off the irrational hopes of mankind." Bertrand Russell
    8. Re:Wasn't port 80 supposed to be HTTP? by foofboy · · Score: 2, Insightful

      I don't see a problem with what he's trying to do.

      The problem he's having is that he's asking for an OpenNIC web site, and not receiving the page. The problem is as follows:

      The "address" of the site he's looking for is present in two separate places in the request he's making. The IP Header includes the IP address of the site, and the HTTP header includes the URL, which includes the server name.

      When he requests a webpage from an OpenNIC TLD, his machine correctly resolves the hostname, and constructs an request, which is sent through his ISP. The web proxy intercepts the request, and tries to proxy his request, so that it can be cached for later lookups.

      Apparently, the Web cache is not configured to lookup machines under OpenNIC TLDs. That's reasonable, but that shouldn't stop a web browser from being able to see the web page.

      If the web proxy can't identify the hostname present in the URL, it should simply pass it through, allowing the client (who already knows the IP), and the Web Server (who also, clearly, already knows it's own IP) to communicate. This would prevent the client from gaining the benefit of the cache, but would allow the client and server to communicate.

      By accusing the poster of "[choosing] to disregard the other relevant standards," I can only assume your talking about his testing the web requests through a telnet client. I think that was an excellent troubleshooting procedure. It clearly identified the source of the problem.

      HTTP does have it's own rules, but none of those rules should override TCP/IP. If this user makes a request to a web server (he's obviously already identified the IP address of the server, or he wouldn't be attempting an HTTP request). The caching proxy shouldn't be hijacking his request for any reason. It may be misconfiguration, or it may be broken proxy software, but it certainly isn't the user's fault.

    9. Re:Wasn't port 80 supposed to be HTTP? by Skapare · · Score: 3, Insightful

      If you connect to a specific IP address, a transparent proxy should connect to that very same IP address. If it connects to any other for any reason, it is apply a sort of "routing" logic. Apparently what happens is because the client includes an HTTP version 1.1 "Host" header, the proxy prefers to do a DNS lookup on the hostname given, and (if it finds it) connect there instead of the client's original destination IP address.

      This is broken. If the proxy has a different idea of what domain names mean, it gets the wrong web site, or perhaps fails to get one at all. A correct transparent proxy implementation should always connect to the very same IP address the client tried to connect to without regard to the "Host" header (which must also be passed along). A DNS lookup can still be done to optimize the cache. If the destination IP address is in the list of A records from the DNS query, then it can simply be matched to the cache by name alone. However, if the IP address does not match any that DNS gets, then those pages can still be cached, but they must be cached under the tuple of both the destination IP address and the "Host" header name together (as this content can be different than any other for the same host name or the same IP address).

      Maybe someone can provide a list of which transparent proxy cache programs do it wrong, and which do it right (as I have not examined these programs). I don't know if peakpeak.com will change out the software once they find something that does it right (or even make a configuration change if it turns out that's all that is needed). Ironically, if you find an outside proxy server which can do it right for you, you could connect directly to that service via a different TCP port and end up defeating the efforts of your ISP to save upstream bandwidth by caching.
      --
      now we need to go OSS in diesel cars
    10. Re:Wasn't port 80 supposed to be HTTP? by BrookHarty · · Score: 2

      Theres a couple tricks to make proxy's not use its name resolution, use the IP you want. Use IPs, short ips, hex, oct, convert the ip. Havnt had to use this trick in awhile, ymmv.

      http://1075594134

      Biggest problem with proxies is sites like slashdot with updated content. GFX can be cached, but the html pages are updated every time. Sometimes I find it funny at work, when a site has the wrong time cause its cache. I force a reload that fixes the problem.

      At work we have a caching/compression solution, we can speed up text almost to 768K+ on wireless connections. Gfx are compressed, but not as much as text. Just imagine GPRS connection with a good caching/compression solution, DSL type speeds. (shameless plug) You can get it at ATTWS with Pocket PC.

    11. Re:Wasn't port 80 supposed to be HTTP? by pryan · · Score: 2

      Thanks for saving me the trouble of explaining it, since most of the other posters seem to have misunderstood the problem.

      The first two solutions are obvious, and I'm surprised caching proxies still don't use either of them. I'm sure they've been suggested before, but I haven't been keeping up with the caching IETF working groups.

      Solution 1:

      Send to the proxy the address of the DNS server you want the proxy to use for resolution. This is a kludge, and would result in duplicate DNS queries, which can take a long time, but at least the proxy would see the world as your client would see it. Unfortunately, you're either breaking the proxy's transparent feature by doing this, or you're mixing up the layers and violating good architecture by embedding resolution information in your HTTP client request.

      Solution 2:

      HTTP/1.1 specifies the host field for HTTP client requests. The solution is to also provide an IP address field, but make it optional. If it is present, then the proxy would not resolve the host field to an address, but otherwise it would. It's simple and it does not violate the nice layers set up in the architecture.

      This is the solution I would like to see, and it is so simple.

    12. Re:Wasn't port 80 supposed to be HTTP? by vsavkin · · Score: 1

      A correct transparent proxy implementation should always connect to the very same IP address the client tried to connect to without regard to the "Host" header (which must also be passed along). A DNS lookup can still be done to optimize the cache. If the destination IP address is in the list of A records from the DNS query, then it can simply be matched to the cache by name alone. However, if the IP address does not match any that DNS gets, then those pages can still be cached, but they must be cached under the tuple of both the destination IP address and the "Host" header name together (as this content can be different than any other for the same host name or the same IP address).

      This is probably best that transparent proxy can do wrt this issue. Thank you.
    13. Re:Wasn't port 80 supposed to be HTTP? by fanatic · · Score: 2

      Solution 3:

      The proxy server is enhanced to try multiple DNS servers, (even in event of NOXDOMAIN), including some in the 'standard' tree and some from OpenNIC. This solution has the advantage of only needing mods to the proxy, not the clients.

      --
      "that's not encryption - it's a new perl script that I'm working on..." - from some Matrix parody
    14. Re:Wasn't port 80 supposed to be HTTP? by Dr.+Zowie · · Score: 2

      Thanks. Unfortunately, this doesn't work well if the site (like most sites these days) uses name-based virtual hosting. For a given host, you might get several different web pages depending on what you put in the host part of the GET URI.

      *sigh*.

    15. Re:Wasn't port 80 supposed to be HTTP? by icezip · · Score: 1

      I agree. You need to look at this from your ISPs standpoint; how much does it cost to transport data? A goddamn lot. If your ISP is trying to save (average says) 20% of it's http traffic, good! Cheaper rates for you and me, and faster reply times.

      Perhaps your program should obide by standards, and use a port number that doesnt have a well defined service running on it.

      --Dave

    16. Re:Wasn't port 80 supposed to be HTTP? by Anonymous Coward · · Score: 0

      > A correct transparent proxy implementation
      > should always connect to the very same IP
      > address the client tried to connect to without
      > regard to the "Host" header (which must also be
      > passed along).

      The method you describe is vulnerable to the
      oldest trick in the book - how to poison a
      transparent cache to return an incorrect website.

      Suppose I set up a porn site on IP 1.2.3.4

      All I do to poison my ISP's transparent cache
      is:


      $ telnet 1.2.3.4 80
      Connected to 1.2.3.4
      Escape character is ^]
      GET / HTTP/1.1
      Host: www.disney.com


      Now, the cache has just assumed that the Host
      header is correct, and caches the contents coming
      back from 1.2.3.4 under www.disney.com

      Next time anyone asks for disney.com, they get the
      porn site returned to them.

      This cache is acting properly by resolving the
      Host header itself. The ISP is making an implicit
      assumption that a DNS entry is uniquely tagged to
      a single site. This assumption works for 99.9999%
      of sites, so just deal with it.

      If you want to development work, use port 8080 or something instead.

    17. Re:Wasn't port 80 supposed to be HTTP? by figment · · Score: 2

      If the web proxy can't identify the hostname present in the URL, it should simply pass it through, allowing the client (who already knows the IP), and the Web Server (who also, clearly, already knows it's own IP) to communicate.

      Not a horrible idea, i'm fairly doubtful it will work though.

      The problem is the caching architectures i've seen have the exit router communicating to the cache through a gre tunnel, so the cache has no way to actually let it "pass through" as the cache isnt the actual box doing the routing. This is vastly superior to "put proxy between person and internet and let it route too" because of loadbalancing and failover reasons, but doesnt allow what you're asking for.

      I dont really consider this 'broken proxy' nor do i consider it a misconfiguration, the simple fact is that his ISP (as well as mine) denies the existance of the opentld system. If he really has a problem with it, he should find another provider. Expecting the ISP to bend over backwards to satisfy their .0001% their client base that this concerns is rediculous.

    18. Re:Wasn't port 80 supposed to be HTTP? by pryan · · Score: 2

      Solution 3 isn't ideal since it still rests on the tacit assumption that there are only "proper" DNS roots and everything else is invalid. How do you know which roots the client is using? The answer is to let the client decide and to specify an IP address in the HTTP client request as well as the DNS name via the host field.

      This also avoids performing unneeded DNS lookups.

    19. Re:Wasn't port 80 supposed to be HTTP? by Zeinfeld · · Score: 2, Insightful
      Before addressing the technical issues this appears to be a really whiny sort of complaint. I suspect that the real issue is that the poster wants to force the rest of the world to support his eccentric choice of DNS root. This strikes me as an invented difficulty rather than a real one.

      Your problem is not one that HTTP or the proxy spec was designed to cover. When we developed HTTP the issue of ICANN did not exist. I certainly don't think it unreasonable for a proxy code writer to assume that users are using the Internet DNS system. If you want to do things different you should expect problems, that is the way of the world.

      The host name header was introduced as a hack to alleviate the problem of IPv4 address exhaustion. There is actually a good reason for the proxy to dereference the DNS name itself since then it can do load balancing amongst http servers if the client does not.

      The proxy might also be using a new enhanced http protocol and so it is pretty important that it be able to access the DNS NAPTR records for the service and do the appropriate mapping.

      One way to address the problem would be to change the host header so that it has the alternic prefix to the dns name, if porn.xxx is an alternic name one would assume that there is a name something like porn.xxx.alternic.org that resolves in icann space. If you want to use non standard DNS configurations expect to have to patch applications.

      Proxy caches were really important in the early days of the web and still are for certain congested links. In the main however the content providers use techniques that mean that caching is very much less useful than it once was. Most content is active these days so it is only the images that cache well.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    20. Re:Wasn't port 80 supposed to be HTTP? by fanatic · · Score: 2

      True, but now you must modify both clients and the proxy. Also, how many roots are there, anyhow? One hopes this number doesn't get too big. Anyhow, after rereading other posts, I think using the IP address the client uses in the SYN packet, possibly only in the event that the proxy's own DNS lookup fails, is actually the better solution. That's the result of using the DNS the client uses.

      --
      "that's not encryption - it's a new perl script that I'm working on..." - from some Matrix parody
    21. Re:Wasn't port 80 supposed to be HTTP? by psamuels · · Score: 1
      The problem is the caching architectures i've seen have the exit router communicating to the cache through a gre tunnel, so the cache has no way to actually let it "pass through" as the cache isnt the actual box doing the routing.

      That doesn't absolve the proxy. They could figure out a way. Current behavior is broken, full stop. Perhaps the proxy's internal architecture makes it difficult to find a solution, but that is no excuse. If they have to modify the protocol between frontend and backend of the proxy ... so be it.

      --
      "How can you claim that you are anti-crack, while still writing a window manager?" — Metacity README
    22. Re:Wasn't port 80 supposed to be HTTP? by Dr.+Zowie · · Score: 2

      What prompted me to write to Slashdot was the thought that perhaps others are having similar difficulties. If I were dealing with a simple proxy router (such as you apparently helped design the standard for) then my solution would be simple: direct ICANN URLs through the proxy and other ones elsewhere. But I really have no choice but to use the proxy, because my ISP is intercepting all of my port 80 packets.

      In a more general sense, OpenNIC isn't the only case where the ability to access http directly is important. Other cases include testing virtual hosting or accessing hollow-tree virtual hosts within a machine with a known IP number.

      You talk about trying to coerce the rest of the world into supporting an alternate DNS. That's not really necessary: strict IP routing already supports alternate DNS roots -- the layered structure of (most of) the protocols keeps your choice of DNS root from interfering with where your packets go. That separability is a Good Thing, and part of a whole suite of related Good Things that make the IP concept work.

    23. Re:Wasn't port 80 supposed to be HTTP? by Anonymous Coward · · Score: 0

      "Cheaper rates for you and me, and faster reply times."

      Maybe. We'll have to see if any price cuts come down the pike from this.

    24. Re:Wasn't port 80 supposed to be HTTP? by Zeinfeld · · Score: 2
      If I were dealing with a simple proxy router (such as you apparently helped design the standard for) then my solution would be simple: direct ICANN URLs through the proxy and other ones elsewhere. But I really have no choice but to use the proxy, because my ISP is intercepting all of my port 80 packets.

      So modify the host header appropriately as suggested.

      Unless of course you don't really want it to work and all you really want to do is complain that your mickey mouse ISP does not support your mickey mouse DNS root.

      Incidentaly, looks like someone really didn't like hearing criticism of openNIC, they moderated my previous comment 'overrated' which means 'I want to punish the person for posting this but I know that the metamoderators are likely to punish me for using any of the other down mods'

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    25. Re:Wasn't port 80 supposed to be HTTP? by pryan · · Score: 2

      Yeah, I thought about that, but how does the IP forwarding box communicate the IP address to the proxy? If they're the same box, then it's easy, but otherwise it would require some funky modifications.

    26. Re:Wasn't port 80 supposed to be HTTP? by AmInParis · · Score: 1

      I think it's great if an ISP wants to save on bandwidth. However, breaking the RFC by using a transparent proxy is not the answer. For one thing, what do you do if you're a web designer and your ISP is caching dynamic pages (PHP)? Ever spent an hour debugging something you know you've fixed only to find that your ISP has cached the old page? More annoying than this is when the proxy crashes. I'm on Noos in France and frequently lose HTTP access while I still have SSH, POP, DNS, etc. If there was a way around this while waiting for the proxy to reboot, be restarted, etc, it wouldn't be a big deal but there isn't.

    27. Re:Wasn't port 80 supposed to be HTTP? by icezip · · Score: 1

      If your worried about caching of pages, make anti-cache headers. Most transparent proxies make use of smart methods of caching anyhow, such as only storing little (1-5kb) images, and whatnot. Belive it or not, when 250 people a minute start up their IE and hit www.msn.net, caching all the 3kb images can save massivly on bandwidth, and not mess up day-to-day operation.

    28. Re:Wasn't port 80 supposed to be HTTP? by fanatic · · Score: 2

      The client has already resolved the IP address, using whatever DNS roots it wanted. Because this is a proxy for folks who don't have proxies configured (hence 'transparent' to the user), the client actually tried to connect to the IP address it got from DNS. It's just that the proxy saw the connect on port 80 and intercepted it, but the IP destination address was in the initial SYN packet.

      --
      "that's not encryption - it's a new perl script that I'm working on..." - from some Matrix parody
    29. Re:Wasn't port 80 supposed to be HTTP? by sjwt · · Score: 0

      HAR!!

      ever been udner an "opaque" proxy
      your self?

      how do you feal about pages with the
      correct meta tags for expiray still being
      a month out of date, and no matter how many
      times you try a hard refresh nothing new pops
      up.. switch accounts and bing, uptodate page..
      switch to the proxyed one, and bingo! a working
      time machen..

      --
      You have 5 Moderator Points!
      Which Helpless Linux zealot/MS basher do you want to mod down today?
  9. Depends by Anonymous Coward · · Score: 0

    Without some "outside" help, there isn't much you can do. In the long run however, it would help if everyone tried to use protocols which are opaque to the transport: SSL, IPSec, etc.

  10. Sounds like what my college does by AntiNorm · · Score: 3, Informative

    Onenet is the internet "service" provider to most state agencies within Oklahoma, including Oklahoma State University, where I am currently working on a BSEE. Neglecting Onenet's other issues (AOL's netadmins could do a better job than Onenet's), they have a "transparent" web cache proxy. More often than not, errors fetching a web page come not from the browser or the site itself as they should, but from the proxy. DNS errors from the proxy are not uncommon. As for switching ISPs, I can't, which really sucks. But for what I can reach on the net, I'm still getting ultra-cheap broadband :P.

    --

    I pledge allegiance to the flag...
    of the Corporate States of America...
    1. Re:Sounds like what my college does by cscx · · Score: 1

      Heh, happens at my university too. They are using Cisco (I think) web proxy caching servers to help "alleviate" the bandwidth on our Resnet connections. However, I often get 0-byte and truncated files returned to me through HTTP. Thanks, proxy.

  11. Re:Use netcat... or your own proxy server... by Anonymous Coward · · Score: 0

    How's running your own proxy supposed to help? The connection to the server on the other side is to port 80, so it will be channeled through whatever proxy his ISP has in place, no matter if it's coming from your webbrowser or your proxy. Besides, while that would be against every convention, port 80 could be used for something very different from http, in which case any web proxy would break it.

  12. same problem by babycakes · · Score: 3, Interesting

    We had pretty much the exact same problem with our ISP, in that if we sent HTTP requests out without any proxy configuration, they would often take a couple of times to get through, since our ISP's transparent proxying didn't work. However, on setting the browser's proxy settings to the proxy itself, this seemed to solve the problem since it would ask the proxy directly.

    Don't ask me why :)

    1. Re:same problem by figment · · Score: 2

      Cisco wccp/gre tunneling had large amounts of bugs until fairly recently (1-2 years ago), and still require specific ios versions. This bug would cause the gre tunnel (which connected the router to the cache) randomly collapse. That is probably the bug you are seeing, and is entirely unrelated to that the poster's problem is.

  13. Education by radoni · · Score: 3, Interesting

    At my highschool, the current system for blocking webpages was introduced as a means to cache commonly used pages and make the District 225 intranet faster. The superintendent and members of the district board know very little about computers, so naturally it is approved. After the Columbine incident, a new feature was tacked on that blocked certain objectionable web sites. The recent WTC attack caused even more areas of the net to be restricted. Today, when i want to search "terrorism" for a paper on the war afghanistan, my results are blocked. Teachers have informed us that we must use the one non-blocked computer in the tech room, or do research at home.

    my friend set up an anonymous web surfing proxy at his home computer, and using this i can get whatever i want.

    there are publically available anonymous port-80 proxies still around.

    --
    SIGERR: laziness exceeds quota
    1. Re:Education by MrHat · · Score: 2, Insightful

      I'll tell you what I'd do.

      1. Refuse to use the machines at school for any internet access. Period.

      2. Let the board and the teachers know why. Tell them they've taken a good thing and turned it into a complete waste of tax money by senselessly restricting.

      3. Ask the board why they think their current system is capable of making better judgements than their salaried teachers.

      This is probably why I really didn't get along with anyone in high school. But this stuff really ticks me off - usually some overzealous admin taking the liberty of forcing his/her idea of "good" on to everyone.

    2. Re:Education by Malc · · Score: 1

      "The recent WTC attack caused even more areas of the net to be restricted. Today, when i want to search "terrorism" for a paper on the war afghanistan, my results are blocked."

      WHAT?! Can you explain their reasoning? That seems completely contrary to the purposes of an educational establishment. Do they want you to grow up unaware of the world around you, and it's important issues?

    3. Re:Education by bleckywelcky · · Score: 1


      Heh, the classic high school lockdown procedures that so many administrations follow. Pretty crazy what a little bit (read: A LOT) of ignorance can do to a public high school. I was really glad when I got out of there.

    4. Re:Education by Ryan+Amos · · Score: 2, Interesting

      Obviously you've never dealt with a public school system. Refuse using the machines? You get written up and sent to the principal for disobeying the teacher. Tell the board anything? They don't listen to teachers or parents, let alone students. Teachers are often just as powerless as the students in administration matters. Unfortunately, public schools often operate on the assumption that the people on top are ALWAYS right.

      The school board of any decently large school district is generally disinterested in actually educating students or making things work well, most school board members are just there as a springboard for higher political office. They generally don't give a fuck about the students or education, so they lower test standards and claim that test scores have improved. If it makes them look good to "protect our children from evil" by blocking out these sites, they'll do it. School systems don't operate like normal organizations; the students' opinion carries next to no weight at all, as "it is up to us adults who know better to protect the students from what they don't know." Total BS, but that's the way public school works.

    5. Re:Education by radoni · · Score: 1

      The funny thing is, i am president of computer club, and my sponsor _is_ the school's network administrator. Decisions regarding which sites get blocked have been delegated to him by his superiors. Many classes have computer lab days where we are required to work on computers for class credit.

      The school board is not about to disagree with a community of parents who are very wealthy and conservative. Taxpayers in the area want to see more and more technology, with less dependence on human teachers. Stevenson high school makes this school look foolish. There is a push (starting 3 years ago) to increase the technology budget here up to 100 million dollars.

      I'm a senior, so i guess i won't have to deal with this much longer. However, my little sister is 11, and i fear she will not have objective exposure to the internet. She lives with my father and step mother, who are techno-nazis and limit computer use to 30 minutes every two days. Every minute she visits me at mom's house, it's "Eric? can i go online?" Inccidentaly, she's learning how to navigate my GNU/Linux-based laptop software, which gives me some hope.

      --
      SIGERR: laziness exceeds quota
    6. Re:Education by Ko5mo · · Score: 0, Flamebait

      I know this is off topic, but mod parent up! Our school system is exactly like that, board members doing little or next to nothing all year, and then make lies when it is time for re-election, and then after ~two terms jumping to higher political grounds. If they had any balls to educate, they would become teachers, doing work in the trenches. Sadly, I suspect 90% of all school board members are like this.

    7. Re:Education by Anonymous Coward · · Score: 0
      After the Columbine incident, a new feature was tacked on that blocked certain objectionable web sites.

      Such as Eric's and Dylan's plans for after the event

      The recent WTC attack caused even more areas of the net to be restricted.

      Ok, so everybody knows that April 20th was Hitler's birthday. But do you know whose 20th birthday September 11th was?

      P.S. If you have trouble following those links from school, try from home ;-)

    8. Re:Education by MrHat · · Score: 1

      Yeah. As I said, I never got along real well. :)

    9. Re:Education by djmitche · · Score: 1

      I'm a teacher at such a school. Our port-80 opaque proxy is some Novell stuff, which requires some sort of authentication from the browser that has to do with the Win95/Novell logon information. That means that if you try to use a non-approved browser (like Mozilla, or heavens forbid Python to do some web programming) it don't work.

      Oh, and this Novell 'stuff' crashes 1-2 times a week. Of course. Too bad they couldn't afford the cadillac of web caches, Squid.. wait..

      I've seriously considered using an external proxy somewhere (netcat would work, but so would Squid running elsewhere on the 'net). I've especially considered it during the interminable downtime, as those are always times I need web access. But I'd probably get fired for that :-(

    10. Re:Education by Anonymous Coward · · Score: 0

      >However, my little sister is 11, and i fear she will not have objective exposure to the internet. She lives with my father and step mother, who are techno-nazis and limit computer use to 30 minutes every two days. Every minute she visits me at mom's house, it's "Eric? can i go online?" Inccidentaly, she's learning how to navigate my GNU/Linux-based laptop software, which gives me some hope.

      I've seen this too many times before. Usually this sort of jail-warden type attitude in parents breeds an over-compensation problem in the child when they grow up.

      When your sister grows up she'll probably be so online that the only way she'll be able to contact her parents is when they visit her at home...

    11. Re:Education by shepd · · Score: 1

      >I've especially considered it during the interminable downtime, as those are always times I need web access. But I'd probably get fired for that :-(

      Why not dial out? If you're really desperate, dial out on your cellphone with a laptop! :-) That way there's no school equipment involved at all.

      --
      If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
  14. could this be more of an anti-server thing instead by NotAnotherReboot · · Score: 0, Offtopic

    I know my ISP's AUP doesn't allow ANY servers of ANY type (which is rediculous, but I know for a fact that whining will get me nowhere with them). One of the ways they do this is to actually block anything coming in on port 80 to block an http server. Of course, I just change the port, but it could very well be that your isp just doesn't want you running a server and is trying to find an automated solution to stop most people.

  15. Re:Use netcat... or your own proxy server... by samrolken · · Score: 2, Insightful

    that's why I suggested adding 80 to 2^16 and setting your proxy to connect at that port. It's the same port, the auto-proxy-router thing just wouldn't see it as such.

    --
    samrolken
  16. My Experience on ISP with faulty service by Jucius+Maximus · · Score: 5, Interesting
    I used to have an ISP that, although they allowed you to have your own site (on their webspace,) loading the site was just damn SLOW for anyone who tried. It was much faster if the pages were hosted somewhere on another continent compared to an ISP with a server in the same city.

    The thing is, they probably won't listen to problems like this, or your proxy issue in most cases. But I found a way to make them listen to you:

    Phone them up saying that you want to cancel the service. Mention something about their web hosting being broken. They will probably say that they will have a management person phone you back to confirm the process.

    When they do phone back, for me, the call was like "Hello, there was a call eariler about a slow connection?" And at this point you have someone on the line who is interested in helping you, has power in the organisation to really fix things (because they're management or a senior tech) and they want to get your issue fixed to they don't lose your business. And THIS is when you really try to explain what's going on.

    This was my experience. Perhaps it will work for you.

    1. Re:My Experience on ISP with faulty service by Skapare · · Score: 2

      This is a method of getting things solved that really does work ... but generally only with smaller businesses. Before I went to work for an ISP, I had an account with another ISP that was doing an excellent job. About a month into the job I called up the other ISP to cancel my service (as it was a dedicated full time nail-up service, and thus a bit more costly that plain old dial-up). The lady that answered took my request and proceeded to ask why I was dissatisfied with the service. I then said "Oh, no, I was perfectly happy with the service". She then asked "Oh, you're moving out of town?". To that I finally explained to her that I had taken a job with an ISP in town, and had free service through it. She told me "well, I guess it won't do any good then for the owner to give you a call and see if he can get you back".

      You're not likely to get that kind of response from a big national ISP. One customer is just too small a percentage for a manager to call to find out why you are unhappy. Mostly, whatever changes they might need to do to make you happy would be too costly for such a big company, anyway. The trouble with small ISPs is that there is such a great variation of competency. But when you get a good one, you have a gem. With the big ones, it's generally a fairly uniform level of pathetic service.

      --
      now we need to go OSS in diesel cars
    2. Re:My Experience on ISP with faulty service by Anonymous Coward · · Score: 0

      Sounds like a similiar call I had when I called the phone company to disconnect my land-line, and moved to wireless.

  17. Re:could this be more of an anti-server thing inst by beebware · · Score: 1

    The question is about blocking port 80 outbound not port 80 inbound.

  18. Lots of ways to work around your ISPs. by BrookHarty · · Score: 5, Informative

    Proxy servers, They might not be cacheing 8080 or other Proxy ports. Check http://tools.rosinstrument.com/proxy/

    Bouncers - You set this program on an external server on a port thats not filtered. You just point your browser at this IP/port and your outside your filtered isp. Check www.freshmeat.net

    SSH, tunnel or route from an external box.

    Really, If you cant go through it, go around it, either with software or networking.
    -
    Well, if crime fighters fight crime and fire fighters fight fire, what do freedom fighters fight? They never mention that part to us, do they? - George Carlin

  19. Hold on here! by Anonymous Coward · · Score: 1, Informative

    The submitter seems a little confused about how http proxies are required to work. The ISP's proxy seems to be working exactly according to the standard. Taking an http with an absolute uri and redirecting it to the server specified by the uri is a MUST according to RFC 2068 (the HTTP/1.1 standard). Moreover, using a different name resolution system then the server for your client and expecting it to work is a MUST NOT as it can lead to proxy looping.

    1. Re:Hold on here! by Anonymous Coward · · Score: 0

      You're right: If there is a transparent proxy, that is how it's supposed to work. But this leaves the question if it's ok for an ISP to deny you a direct connection to port 80 on any system. This could be interpreted as "broken routing". If you send a SYN-packet to www.google.com:80 there's nothing in any protocol involved which would suggest that this packet will be intercepted by an intermediate system and handled differently from, say, a similar packet to port 22. Unless the ISP clearly stated that the use of their proxy is compulsory, they probably have to offer a way to turn it off.

    2. Re:Hold on here! by Anonymous Coward · · Score: 0

      What if you don't want to use port 80 for HTTP traffic though? This is where the problem is...

    3. Re:Hold on here! by Anonymous Coward · · Score: 0

      That's a trickier question but it's probably not unreasonable to specially handle IP traffic on one of the well-known ports. It's not desireable and they should notify you that it's happening, but not unreasonable to do so.

    4. Re:Hold on here! by Anonymous Coward · · Score: 0

      That could create some problems (iow: it wouldn't work), but that is not what the original question is about. He's using port 80 for http, but with a different set of root nameservers. This breaks transparent proxying. ("How" is explained really well in some other comments.)

    5. Re:Hold on here! by DotComVictim · · Score: 1

      Actually, no. You have specified exactly how manual http proxies are supposed to work. What is broken in the practice of doing this transparently. The ISP is clearly doing this because they can't afford a better uplink and think customers are too dumb to enter proxy settings. Time to switch ISP.

      You could request http://ipaddress, but that breaks multihosted web sites that switch on the request URL.

    6. Re:Hold on here! by Skapare · · Score: 4, Interesting

      If the user configured his browser to use a specific proxy, then I would agree with you regarding RFC2068. The client in essence is delegating DNS responsibility to the proxy server. However, what is happening here is called transparent proxy. There is no DNS delegation taking place. And RFC2068 requires that semantic transparency be preserved (although it does not seem to differentiate types of proxies). It says:

      semantically transparent
      A cache behaves in a "semantically transparent" manner, with
      respect to a particular response, when its use affects neither the
      requesting client nor the origin server, except to improve
      performance. When a cache is semantically transparent, the client
      receives exactly the same response (except for hop-by-hop headers)
      that it would have received had its request been handled directly
      by the origin server.

      In this case the origin server would have delivered a web page (I actually tried it and it works fine for me), and so the proxy has the responsibility to deliver the same thing. In that, it seems, it failed.

      --
      now we need to go OSS in diesel cars
    7. Re:Hold on here! by mnot · · Score: 1

      It's actually called an inteception proxy; see RFC3040 (this name was chosen to avoid confusion with semantic transparency, which you seem to be doing).

    8. Re:Hold on here! by Skapare · · Score: 2

      There certainly does seem to be confusion. I must say, the RFC authors made a poor choice of terms, although clearly it was a historical accident and this is probably the best that can be done to work around it. I've always used the term "transparent" to mean transparent in the sense that you can't tell it's there. I picked up on "interception" during this thread, but I had missed RFC3040 because my term greps must have missed it (concept indexing would be nice, but almost no one ever does that ... it's quite hard to do ... but maybe they have a different term for that, too). Ask 1000 people the meanings of some terms, and you'll get 1001 different answers.

      --
      now we need to go OSS in diesel cars
  20. long-term solution by vsavkin · · Score: 1

    Support wide use of IPSEC.
    Encrypted payload will prevent broken routers from looking into it.

    1. Re:long-term solution by Anonymous Coward · · Score: 0

      Another dumb solution to a non-problem.

    2. Re:long-term solution by Junta · · Score: 2

      Have you ever configured IPSEC connections, particularly accross platforms? The most cross platform methods are x509 certificates and preshared keys. Neither method is viable to distribute among everyone. Sure, with x509, you can in theory have common CAs sign your keys and use that with x509, but that costs money. You could preshareyour own CA certificate and sign it yourself, but then you need the same amount of connection set up for every site you connect to you had before.

      More likely solutio is to configure your own proxy beyond the ISPs contorl. Also not easy, since most people don't have machines in that position, but your suggestion is strange enough by itself.

      IPSEC wasn't ever meant to be used for oppurtunistic encryption applications (like https, ssh, etc), but to establish connections on a more long term basis that would be used for arbitrary protocols, not such common ones.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    3. Re:long-term solution by vsavkin · · Score: 1

      I know it cannot work right now. I was answering the question: "what can we as a community do to prevent breakage of the net on a global scale by poorly designed routing hacks?"

    4. Re:long-term solution by Zeinfeld · · Score: 2
      Have you ever configured IPSEC connections, particularly accross platforms? The most cross platform methods are x509 certificates and preshared keys. Neither method is viable to distribute among everyone.

      I have, it is entirely practicable, with the right infrastructure support. However the probability that the destination supports IPSEC today is so small as to be negligible. And IPSEC would certainly not help someone who insisted on using an alternative root.

      IPSEC wasn't ever meant to be used for oppurtunistic encryption applications (like https, ssh, etc), but to establish connections on a more long term basis that would be used for arbitrary protocols, not such common ones.

      No, IPSEC was designed for exactly that case, it just happened to be deployed for VPN. IPSEC was started ten years ago, long before SSL was developed.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    5. Re:long-term solution by Dr.+Zowie · · Score: 2
      Encrypted payload will prevent broken routers from looking into it.

      Yup, that's pretty cool. I like that (for example) I can get https:// requests through to any host I want, simply because the encryption enforces the layering of the IP stack. Unfortunately, almost nobody actually publishes the same pages through http: and https:. The encryption layer just uses too many resources in high-bandwidth applications. I wonder if that'll ever change?

    6. Re:long-term solution by cmkrnl · · Score: 0


      Mod This UP. A realistic comment.

      Curmudgeon

    7. Re:long-term solution by Anonymous Coward · · Score: 0

      isnt the default port for https:// 443
      so the https:// requests go through because the proxy only caches traffic on port 80?

  21. Re:Use netcat... or your own proxy server... by Anonymous Coward · · Score: 2, Informative

    That requires an external box, like the shell account the original comment mentioned. If you have that, you could use some more advanced schemes like routing only the SYN-packets for port 80 through your external account. This way you wouldn't cause three times the traffic like you do with a proxy (your connection plus twice the external connection).

  22. OpenNIC by glasn0st · · Score: 3, Informative

    The poster mentioned that he used OpenNIC which is an alternative DNS root. It is proper HTTP, but a transparent proxy that does not "see" domains in this namespace effectively block you from viewing webpages under this domain.

    His own box is properly configured to do OpenNIC lookups, but the HTTP request to the (proper) webserver gets intercepted. Now the proxy has to do the real HTTP request, but the proxy does not know about the alternative domains and probably returns a "Host not found" error.

    I haven't heard of free proxy servers supporting one of the alternative NICs and I doubt the ISP will be interesting in subscribing to such a service. I guess the only solution will be to convince a friend to set up a proxy on a box someplace else.

    Some alternative roots have their own "real" Internet domain which acts as a gateway domain, for instance name.space has http://name.space.xs2.net/ (regular hostname) which enables non-subscribers to view http://name.space/ (namespace only), making the domains available globally. If OpenNIC provides such a service, an alternative solution could be to run some proxy at home and let it rewrite OpenNIC urls into "regular" URLs.

    --
    ( ^_^)/
  23. Administrative competence / certifications by cravey · · Score: 0, Offtopic

    Once again, we're shown what happens when someone who doesn't know what they're doing gets into the pilots seat. In the past, I've seen the situation complicated by management demanding that something be implemented NOW. This leads to a new technology being put in place as an improperly implemented solution. In the end, when you consider the amount ot support work required for it, it end up being cheaper to do it right, but more slowly. For some reason too few people realize this.

    Certifications would certainly seem to alleviate the frequency of many of these occurances, but in practice, I have seen too many certified employees who really don't understand the basic ideas of what they're trying to do. Sure they have a piece of paper stating that they passed the test, and may have paid $20k for a 1 month course in their given certification, but without real experience with the technology, it's all worthless. Combine this with management that believes that technical staff is merely there for implementation and not design or recommendation and you have a cycle where poor decisions are implemented 'just to get by' and are depended upon from that time on because noone who knows what they're doing has the authority to veto stupid decisions.

    What we really need are more certifications that concentrate on ability and broad based knowledge than a specific way of doing things for not only admins, but also the managers of those admins. An incompetent manager has no business having the authority to tell a network admin to implement a new technology on a specific schedule. I fear that competent admins will soon become only slightly more respected than the guy who unclogs the toilet.

    1. Re:Administrative competence / certifications by Anonymous Coward · · Score: 0

      Money is a very important factor. The market is so bad that company I work for is hiring non-skilled people for tech support and application admins. The reason? Its easier to hire someone at 30K then 65K and save money. We have multiple levels, Level 2s and 3s are your basic skilled admin. Level 4's are your main experienced guru, and team lead. Level 1's are non-skilled, normally people fresh out of school.

      They hired a dozen level 1's and expect the level 3's to teach them how to use unix/etc/scripts. Its a fucking joke. You wonder why it takes forever to get tech support to fix something! The top tier of people staffed are mostly UNSKILLED...

      ..competent admins will soon become only slightly more respected than the guy who unclogs the toilet.

      Too late, they dont care anymore. "A Monkey can do your job" seems to be the general thought..

    2. Re:Administrative competence / certifications by buffy · · Score: 2

      Nice rant, but from the content in your posting, I'm not sure what that has to do, necessarily, with a proxy server. Seriously, do any certifications even exist for running a squid proxy? Come on...

      Your rant, taken more as a statement of the lack of general competence is somewhat valid, but I just don't see the connection to this specific issue, other than obligitory karma whoring.

      Whatever...

      -buffy

    3. Re:Administrative competence / certifications by cravey · · Score: 1

      Specifically, it has nothing to do with a proxy server, but does have to do with the proper configuration of network related items. I've seen far too many instances where poorly configured firewalls, proxy servers, port redirects, and radius servers have lead to nightmare technical support issues where management had set a silly policy to be followed by either an incompetent or overworked admin. This almost invariably leads to problems for customers who for some silly reason expect things to work properly and can't get past tech support staff whose sole repository of technical knowledge is contained on a flowchart.

      More than anything, I was hoping to find a few people who might be willing to discuss the issues /environment that initially may have caused the problem (a possibly poorly configured proxy server) rather than debating what I see as symptom of a larger issue.

      The AC that replied first seemed to have an idea of where I was headed, but unfortunately, most people will never see his/her comments.

      As for certifications, no, there probably isn't a squid cert, I'm looking for a generalized cert that could give someone enough information about systems and networks that would allow an admin to be able to know when something wasn't right rather than thinking it's right because his cert course didn't explicitly say it was stupid.

      As for karma whoring, I really don't care enough about my slashdot karma to bother. If that was what i was after, I'd likely have posted more than two times in the past 3 years.

    4. Re:Administrative competence / certifications by figment · · Score: 2

      Ok my first response: the fuck?

      Why does this perceived "problem" have anything to do with management, or the problems w/ certification? This "problem" the poster perceives is entirely not a problem of technical incompetence, but rather the simple fact that to this isp, supporting these tlds is simply not worth the time/trouble/money.

      Webcaching is highly cost effective. It allows providers to charge this $35-50/mo charges w/o going under, or without losing too much money.

      As someone with 7 years programming experience, 3 years networking experience, and did months of research on webcaching before implementing it, i can tell you for a fact that I would not think of this as being a problem during implementation. Hell in fact i still don't think it's a problem, quite frankly taking down a router for 30 minutes just to fix one person's obscure problem just isnt worth it. You're paying what? $20/mo? Great if you stay for 6 months then you'll pay for my 1hour of overtime. and that's not counting how many other people we piss off for having this 30min slowness/downtime.

      So in response to your post. This was not a bad decision by any means. Done correctly it has the ability to speed up response times (and my data shows that it does) and saving money by using much less bandwidth (btwn 10-40% even while full honoring of if-modified-since headers). It improves service to 99.999% of their customers and pisses off one, because he can't use some esotericthingthattheISPdoesntwanttosupport anyways. Please.

      Your points over worthless certification and stuff like that certainly could be valid points if you had applied them a relevant arguement, however this is entirely not, as you have no position/ability to judge that this was indeed a bad decision, or that it had anything to do with (unknowledgable) management decisions.

    5. Re:Administrative competence / certifications by osu-neko · · Score: 1
      Seriously, do any certifications even exist for running a squid proxy?

      Seriously, anyone who considers the possesion of a certification as in any way an indicator of competence probably isn't. Anyone who is competent and certified is almost certainly aghast at the level of incompetence of most of their fellow students who nevertheless have no trouble getting a certification. Most certifications fall somewhere between "joke" and "scam", the latter being the more common...

      --
      "Convictions are more dangerous enemies of truth than lies."
  24. Their way or the highway by Lumpish+Scholar · · Score: 3, Informative

    (1) Line up a serious alternative ISP. Talk to their sales department; see if they do the same thing.

    (2) Talk to your ISP's sales department. Tell them your problem. Tell them you're ready to move. (Perhaps ask what the hit rate of the cache is, that is, if the overhead is worth it for them.) See if they offer any accomodation.

    (3) Go with the ISP that does what you want.

    If you're using them for DSL, you may not have a lot of choice.

    (As others suggested, if host resolution is your issue, you could run a local proxy on your 127.0.0.1 interface that converts host names into addresses.)

    --
    Stupid job ads, weird spam, occasional insight at
    1. Re:Their way or the highway by Jerf · · Score: 4, Informative

      (As others suggested, if host resolution is your issue, you could run a local proxy on your 127.0.0.1 interface that converts host names into addresses.)

      Unfortunately, that's not a complete solution. Example: Compare my home page versus the IP address that hostname resolves to.

      Lots of servers do this.

    2. Re:Their way or the highway by Dr.+Zowie · · Score: 2

      Very good suggestions, and I'm planning on doing steps (1) through (3).

      As far as a local proxy: that won't work with virtual hosting in a non-ICANN name space. The immediate problem is that I can't retrieve non-ICANN web pages because the proxy tries to resolve the non-ICANN name in the payload, using ICANN DNS. I can always ask for numeric addresses, but virtual hosting (where a server gives you different pages depending on the name you ask for) is widespread enough that there are many web pages I can't retrieve even in principle.

      Cheers,
      Craig

    3. Re:Their way or the highway by Phroggy · · Score: 1

      (As others suggested, if host resolution is your issue, you could run a local proxy on your 127.0.0.1 interface that converts host names into addresses.)

      Not sure what you're trying to suggest here, could you elaborate? How would this local proxy fetch pages, through the ISP's proxy? If not, then why run a local proxy at all? Keep in mind that translating names into IPs before a request is made won't work for servers using name-based virtual hosts. What did you mean?

      --
      $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
      $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
    4. Re:Their way or the highway by Anonymous Coward · · Score: 1, Informative

      It's called "name based virtual hosting" and is actually a recommended practice because of the ip-address-shortage.

    5. Re:Their way or the highway by Lumpish+Scholar · · Score: 2

      Can the local proxy send the IP address in the GET command but the original host name in the Host: header?

      --
      Stupid job ads, weird spam, occasional insight at
    6. Re:Their way or the highway by cathyy · · Score: 1

      When I was switched from MediaOne to Comcast last December, I was also put behind a proxy server. One with a 30 or 40 second lag for every page request sent. One that didn't do reverse ARP so I was always misidentified to web sites. I called and complained. When that didn't work, I switched ISPs to a slower DSL connection. I can't download as rapidly, but I sure surf a lot faster. Comcast was very unhappy; I think they have been getting a lot of that lately.

    7. Re:Their way or the highway by osu-neko · · Score: 1
      Can the local proxy send the IP address in the GET command

      ???

      The GET commnd includes a pathname (essentially) and a protocol version. The address (either IP or DNS) is not part of the GET command, as the command is designed to be given to the destination machine -- you're supposed to already have an open TCP/IP connection with your destination when you issue the GET command. The Host: is just there for virtual hosting purposes...

      --
      "Convictions are more dangerous enemies of truth than lies."
  25. Re:Use netcat... or your own proxy server... by khuber · · Score: 3, Insightful
    You might try something like the port + 65536 rule.

    How could a number outside 16 bits make it to a router since TCP only holds 16 bits for ports? If you wrap around to 80, you have 80, not 65616.

    -Kevin

  26. Look At It From the ISP's Standpoint by ocip · · Score: 5, Insightful

    If you look at it from your ISP's standpoint transparent proxies aren't as evil as you make it sound.

    99.9% of the ISPs clients aren't trying to do anything tricky, like this. Of those 99.9%, say, only 40% have a proxy server specified. These 40% get to enjoy faster web browsing--which is probably all they're doing anyway. The other 60% enjoy slightly less quick web browsing, but that's they're own fault, right? They're the only ones losing out, right?

    Wrong. The ISP has to pay for bandwidth. The ISP doesn't like the proxy only because it makes browsing snappier, it likes the proxy because it also saves them on bandwidth costs! If the other 60% of the clients were using the proxy they might save 10%, or more, on total bandwidth costs.

    You could think of it like this, too: that's 10% more bandwidth available for the clients at no additional cost to the company (apart from the capital for the proxy server). Yes, they're not perfect, but they make a difference. When you weigh the pros and cons, well, it's obviously going to be worth it for the ISPs to have it installed.

    You could look around for an ISP that doesn't use a transparent proxy but, as you said, they're becoming more popular. Realise that they're not doing to squash your freedom, but instead to provide better service and to save money.

    1. Re:Look At It From the ISP's Standpoint by Dr.+Zowie · · Score: 2
      That's a very good point.


      What I'm complaining about is that the proxy has a bad failure mode: when the usual resolution method fails, the proxy ought at the very least to fail softly and route the packets like a real router should Unfortunately, it doesn't -- it generates an error message instead.

    2. Re:Look At It From the ISP's Standpoint by Anonymous Coward · · Score: 0
      Then the right thing to do for the ISP would be to require explicit proxy usage and completely block port 80 and sell it as such, not as complete, unfiltered internet access.

      If proxy usage is expected to be no problem, let it be explicit, if the ISP wants to enforce it, they may do that with filtering, but transparent proxying is a way of lying.

    3. Re:Look At It From the ISP's Standpoint by Anonymous Coward · · Score: 0

      This wouldn't work in the case of DNS-conflicts. The only real solution would be to add an http-header which tells the proxy which server to connect to, numerically. That would of course cause some serious cache poisening issues.

    4. Re:Look At It From the ISP's Standpoint by ocip · · Score: 2, Informative

      It is much easier for an established ISP to simply implement a transparent proxy, rather than to have all of its clients configure their browser to use a proxy. Remember, only 40% have it configured already. 60% don't. And, of that 60%, maybe 5% have even heard of it before. It really, REALLY sucks to have thousands of customers calling a support desk to configure their browser to use a proxy.

    5. Re:Look At It From the ISP's Standpoint by ocip · · Score: 1

      I'm all-for this kind of smart handling, but most ISPs don't write the proxy software (or any other software, usually) they use, so it would have to be implimented in the package they license.

    6. Re:Look At It From the ISP's Standpoint by vsavkin · · Score: 1
      This wouldn't work in the case of DNS-conflicts. The only real solution would be to add an http-header which tells the proxy which server to connect to, numerically.

      Additional headers are not needed. Just use destination IP from packets sent by the client.

      That would of course cause some serious cache poisening issues.

      Unless proxy identifies an object not by URL alone but by (URL, server_ip) pair. Unfortunally, in this case content from sites which use DNS round-robin for load balancing will be duplicated in the cache, thus making caching less efficient.
    7. Re:Look At It From the ISP's Standpoint by Anonymous Coward · · Score: 0

      i currently work at the helpdesk for a Local Bell Monopoly (i'm in the south), both DSL and Dialup. DSL. trust me, we like browser issues--they're quite easy!

    8. Re:Look At It From the ISP's Standpoint by Anonymous Coward · · Score: 0

      The header would offer the ip address in the application layer. Unless you have the proxy and the router on the same machine, getting the original target ip to the proxy is complicated - probably more complicated than an isp who uses transparent proxying is willing or able to handle.

    9. Re:Look At It From the ISP's Standpoint by vsavkin · · Score: 1

      Unless you have the proxy and the router on the same machine, getting the original target ip to the proxy is complicated

      It's easy in Squid+Cisco+WCCP case, and Squid box certainly doesn't have to be a router. You may substitute Cisco+WCCP with any policy routing solution in this example.
    10. Re:Look At It From the ISP's Standpoint by Hyped01 · · Score: 1
      You claim that proxy servers help alleviate bandwidth usage at ISP's? I am not sure how you come up with this figure.

      The honest truth is in numerous large ISPs utilizing proxy servers, they INCREASE bandwidth usage. The reason quite simply is (for instance, in the case of AOL), a user is often served by a half dozen to 2 dozen proxy servers for a single request. There is no mechanism to check to see if proxy12 has the document the user is requesting that now proxy23 needs to get. Thus, often it increases traffic because the proxy servers request documents that were already cached by other proxy servers.

      I've done tests with AOL and the former AtHome Network and reloaded the same page and watch a different set of proxy servers [or the same ones retrieving different documents (read: images) from the same page] meaning that roughly 8 out of 10 requests for an image or document, it was being re-retrieved, even though it was already cached by an earlier request by that same user (but via a different one of their ISPs proxy servers).

      So... explain how that makes more of their bandwidth available... not just does it decrease their available bandwidth, but mine (for my servers) as well.

      They dont provide better service, they dont save anyone money (except the ISP who sells the demographics - which, btw, is one of two reasons why AOL still does it - the other is image compression - which anyone with any AOL intelligence turns off ASAP). AOL has already been in lawsuits about this, so it's not guesswork on my part. Including with a company that was working with doubleclick to use all the data that they (two) were accumulating.

      Robert

      --

      WebMaster:
      BinFeeds
      XXX Thumbnailed Image Newsgroups but

    11. Re:Look At It From the ISP's Standpoint by vsavkin · · Score: 1
      There is no mechanism to check to see if proxy12 has the document the user is requesting that now proxy23 needs to get.

      There are several, ICP (RFC2186) beeing the most popular.
    12. Re:Look At It From the ISP's Standpoint by jdavidb · · Score: 3, Insightful

      I agree with everything you say; proxy servers are a great thing for all involved and not a threat to freedom.

      But the problem is that this proxy server doesn't work right. My browser should look up the IP corresponding to the site, send a request on port 80, and get the response. In this case, it looks like the proxy is insisting on doing the lookup part, and so the user effectively can't change his DNS.

    13. Re:Look At It From the ISP's Standpoint by Anonymous Coward · · Score: 0
      The honest truth is in numerous large ISPs utilizing proxy servers, they INCREASE bandwidth usage. The reason quite simply is (for instance, in the case of AOL), a user is often served by a half dozen to 2 dozen proxy servers for a single request. There is no mechanism to check to see if proxy12 has the document the user is requesting that now proxy23 needs to get. Thus, often it increases traffic because the proxy servers request documents that were already cached by other proxy servers.


      Wow. That is such a flawed paragraph. First, there's the assertion that there is no means for a proxy farm to share a cooperative cache. Which is a false statement, go check out squid, and then ask yourself if the commercial proxy vendors are going to be too stupid to use similar techniques in their products. Second there's just a basic flaw in your reasoning, you are just plain out wrong. It doesn't matter what the hit rate on their proxy farm is, a worst case scenario is a 0% hit rate, which would require that 100% of their users' requests are required to go out over the ISP's link to their provider. The only negative effect is not a reduction in bandwidth, but a slight increase in latency. With good hardware and software that increase should be small enough that it won't be noticed unless someone breaks out a web server benchmarking tool. There is the exact same amount of bandwidth available to the end users.
    14. Re:Look At It From the ISP's Standpoint by Skapare · · Score: 2

      Or the OP could look around for an ISP that does use transparent proxying correctly. This is not an unsolvable problem; all the proxy has to do is connect to the correct origin server, which is the IP address the client connected to. This is necessary because with transparent proxying, the GET request provides a URI, not a full URL.

      --
      now we need to go OSS in diesel cars
    15. Re:Look At It From the ISP's Standpoint by Skapare · · Score: 2

      That's not necessary. In the case of a transparent proxy, which has intercepted the IP packet, the IP address of the origin server is available. It just has to be coded/configured to use it properly. In the case of the server running at peakpeak.com, this is not the case.

      Also, this will not poison cache. You cache indexed by a tuple combining the hostname (if provided) and the IP address. The cache of several IPs can be combined in the case of DNS providing multiple IPs for the hostname. Thus if example.com resolves to 1.1.1.1 and 2.2.2.2 and 3.3.3.3 then all cache lookups that ask for example.com+1.1.1.1 or example.com+2.2.2.2 or example.com+3.3.3.3 can share the same cache subtree. But if some client asks for example.com in the HTTP "Host" header while connecting to 4.4.4.4, the cache lookup would be for example.com+4.4.4.4 which would be a separate cache subtree from the other 3.

      --
      now we need to go OSS in diesel cars
    16. Re:Look At It From the ISP's Standpoint by Skapare · · Score: 2

      Even without WCCP, doing a straight route through a cache server box preserves the destination IP address in the IP header ... it has to or packets cannot be delivered. You can also do a route-map based on destination port number and route only TCP packets destined for port 80 to one box and default everything else as usual. The destination IP is still preserved (but the ethernet MAC address is different as the routed-to IP address is used by ARP to find that MAC address). Now whether Squid can handle this case or not I haven't tested. But I do believe WCCP encapsulates the original destination IP address, so there's no reason not to correctly associate it with the request, and correctly connect to the intended origin server, and correctly distinquish cache data by IP address (which can be shared among those that DNS says are a common group with multiple A-records).

      --
      now we need to go OSS in diesel cars
    17. Re:Look At It From the ISP's Standpoint by Hyped01 · · Score: 1
      Gee, I am sorry... I thought that since I specified two examples, it was obvious that what I was saying is that (a) both in the examples I cited and (b) in most similar cases, "there is no mechanism (in use by those ISPs) to check to see if proxy 12 has the document the user is requesting that now proxy23 needs to get."

      I apologize, as I thought it was clear. Fact is, no such mechanism is in use by AOL, or formerly AtHome, and in all probability other ISP's. To name a few, the virtually only ISP in Australia under any of it's 3 major names, btinternet, webtv, and on and on and on and on...

      Sorry for the confusion...
      Robert

      --

      WebMaster:
      BinFeeds
      XXX Thumbnailed Image Newsgroups but

    18. Re:Look At It From the ISP's Standpoint by Anonymous Coward · · Score: 1, Informative
      My ISP (istop.com) has a really good solution for this.

      They have, as is becoming popular these days, a monthly bandwidth cap. It's 10G.

      But, if you use their HTTP proxy (which is NOT transparent; it's a good old-fashion normal proxy that sits on another port) that counts as an extra 10G on top of that.

      In other words, I am well motivated to use their proxy. Given that it also deletes ads (heh), I rather LIKE their proxy. But if it causes trouble, which inevitably it does on some sites, I can just turn off proxying and see things normally. It's a win-win situation for me and them.

      They also don't block any ports, which is explicitly stated in their policy. They also explicitly allow you to run your own servers.

      In short, they seem to be run by people who actually understand networking.

    19. Re:Look At It From the ISP's Standpoint by Wild+Wizard · · Score: 1

      > To name a few, the virtually only ISP in Australia under any of it's 3 major names

      are you refering to this Telstra Bigpond Direct Proxy

      and a bit of info about how to connect your (squid) proxy to it

      and i get a 72% hit rate on the bigpond direct cache. but due to a new proxy server here my own server is only getting 8% compared to around 20% on the old one.

      the direct proxy is also used by those on bigond broadband cable to avoid hitting the transperant proxies on the cable network which don't work

    20. Re:Look At It From the ISP's Standpoint by Anonymous Coward · · Score: 4, Insightful

      1. An HTTP proxy server is not a router.

      2. What is happening is that your *default gateway* (which really IS a router) is redirecting packets bound to port 80 to the proxy server. Your default gateway is doing the routing, NOT the proxy server. (Linux does a nice job at transparent proxying, btw.)

      3. The proxy server then tries to resolve the domain name using DNS.

      4. The DNS server the proxy server is configured to use, not knowing anything about these funky TLDs you're trying to access, can't find it. It tells the proxy server so.

      5. The proxy server comes back and gives you a nice, friendly error message telling you it can't resolve the host name.

      Look...transparent proxying is to bandwidth what NAT is to private networks. It works, it works very well, it's in widespread use (getting wider every day, probably), and it's here to stay. If you really want to do something constructive to solve your problem, ask your ISP to configure their DNS to resolve the OpenNIC TLDs. They're a lot more likely to do that than they are to stop using transparent proxying (I know I would be).

    21. Re:Look At It From the ISP's Standpoint by haesu · · Score: 1

      They probably have ICCP clusters enabled for their proxies, especially if they are using Squid (www.squid-cache.org). ICCP clusters enable multiple squid proxies to cluster up and will not result in such external bandwidth waste.

    22. Re:Look At It From the ISP's Standpoint by Hyped01 · · Score: 1
      It's a direct grab from our main web server. The firewall is part of our TCP/IP stack and we only serve about 100,000 pages and 7 million images a day, so we dont do load balancing or use proxy servers as our load on our server is nonexistent.

      Our (html) pages each have 20 thumbnail images linked to 20 full sized images, and 14 miscellaneous images, of which 4 are repeated (once on top, once on bottom), and even for the same request, from the same server, their proxies will re-request that document. WebTV's and MSN's proxy servers will often do that off and on as well (depending on how many serve a request). AOL will do that 65% of the time (based on a pretty large log sampling) as that many users will end up being served via multiple proxy servers that do not check each other for the documents.

      For us, between them, they waste an additional 25% bandwidth. Add to that, versions of IE that try to "pre-cache" (dont know what else to call it) wrong documents (as versions of their proxy servers do as well), and we've calculated 32% wasted bandwidth (in the "pre-cache" case, lets say you are looking at /sportsimages/images/picture12.jpg from document /sportsimages/pictures0001.html - their crap will also try to retrieve index.html from that same directory and the main directory. This issue at least seems to be on the decline... but poorly set up proxy pools seem to be increasing).

      Robert

      --

      WebMaster:
      BinFeeds
      XXX Thumbnailed Image Newsgroups but

    23. Re:Look At It From the ISP's Standpoint by Doc+Hopper · · Score: 2

      This gentleman's situation certainly doesn't seem like his ISP is using WCCP though (I love WCCP, particularly version 2.0, while a bit tricky to set up, works a charm). I suspect they're just using a route-map port 80 to some host, with exclusion from the rule for that proxy host.

      Simple and effective, but the IP address information from the packet is discarded. Also as far as I know, Squid does not support reading the IP address from the packet it transparently intercepts; it always refers to the DNS list included in its conf file. On the other hand, some other (commercial) caching boxes, which have licensed WCCP 2.0, seem to do better in this kind of strange split-DNS situation.

      Then again, it's been about 2 years since I used Squid and several commercial proxies heavily. They may have updated Squid to support packet decoding for IP address destination information in that time. Guess I'll have to go check out that page now...

    24. Re:Look At It From the ISP's Standpoint by vsavkin · · Score: 1
      Simple and effective, but the IP address information from the packet is discarded.

      It's not discarded, it's just routed to the squid box.
      Also as far as I know, Squid does not support reading the IP address from the packet it transparently intercepts; it always refers to the DNS list included in its conf file.

      It does, at least with Linux netfilter and BSD ipfilter.
    25. Re:Look At It From the ISP's Standpoint by cmkrnl · · Score: 1

      > I am not sure how you come up with this figure.

      Maybe its because you are on the waiting list for a CLUE transplant, you idiot. A shitty proxy implementation is not the general case, I can pretty much guarantee if I roll out a farm of L4 balanced NetCache appliances, any ISP will save bandwidth in spades. The average users browsing experience will be suitably improved also.

      Curmudgeon.

    26. Re:Look At It From the ISP's Standpoint by cmkrnl · · Score: 1

      It doesnt NEED to. A proper L4 balanced proxy implementation will select the proxy member from hashing enabled based on source/dest port, source/dest IP Address AND on the URL. This will ensure that connections to www.foo.com from your source will always go the to the same server.

      Carp is a waste of time in any large implementation.

      Curmudgeon

    27. Re:Look At It From the ISP's Standpoint by Hyped01 · · Score: 1
      "you idiot"... never ceases to amaze me when the kids come out to play on their parent's computers...

      Oh well, let me give YOU a CLUE then. AOL is arguably the largest ISP in the nation. MSN/WebTV conglomerate are trying to fight their way up to that position. So, that's a whole LOT of misconfigured proxy servers. You have a clue yet? Add up all the rest of the ISPs and compare their userbase to those 3 combined and you have less - or so they want us to believe from their marketing - which if that's the case, means your measly efforts are just that in comparison to their poor implementations.

      Go get a clue and go grow up.

      Why dont you come back when you can post like an adult instead of resorting to childish name calling?

      --

      WebMaster:
      BinFeeds
      XXX Thumbnailed Image Newsgroups but

    28. Re:Look At It From the ISP's Standpoint by Hyped01 · · Score: 1

      >It doesnt NEED to. A proper L4 balanced proxy
      >implementation will select the proxy member from
      >hashing enabled based on source/dest port,
      >source/dest IP Address AND on the URL. This will
      >ensure that connections to www.foo.com from your
      >source will always go the to the same server.
      >

      Which is NOT what AOL nor MSN nor WebTV do. Nor do many other large ISPs.

      My argument was never that it cannot be done, nor that it should not be done. My argument is the big guys dont do it, even though they can and should, thus wasting the bandwidth and then some that they'd like to claim they are saving.

      --

      WebMaster:
      BinFeeds
      XXX Thumbnailed Image Newsgroups but

    29. Re:Look At It From the ISP's Standpoint by darkonc · · Score: 2
      There is, actually, a cost. If I grab image 'X', and it's served by proxy Y, and then I go to check the age of image 'X' later on (to see if I should reload it,) and that query goes to proxy Z, proxy Z is probably going to go grab image 'X' a second time (instead of just telling me that 'X' hasn't changed). If it's a bad implementation (which, it sounds like, is often the case), I'm gonna wait for Z to download the second copy of X before it even bothers to tell me that it's the same age as the copy that I've got.

      Also: unless the proxy is doing a packet-by-packet forward of a new image, I'm going to have to wait for the entire image to download to the server before I get it copied to me.... If it's a large image/file, this could be quite a noticable increase in latency.

      --
      Sometimes boldness is in fashion. Sometimes only the brave will be bold.
    30. Re:Look At It From the ISP's Standpoint by evilviper · · Score: 3, Insightful
      99.9% of the ISPs clients aren't trying to do anything tricky, like this.


      Well, in that case, they can stop supporting anything but windows, since it has a clear majority. Oh, and you can't use anything but IE since it's got a majority as well.

      The problem is that I don't pay for 'a service that allows me to view most web sites'. Rather, I pay for an 'internet service'. If anything that should work, doesn't, then they are violating their end of the contract... Not to mention probable false-advertising, etc.

      If it costs them 10% more bandwidth for those who choose not to use their optional proxy, then they should charge the customers 10% more.

      How about if the USPS decided to crush every package by 1cm because then they can fit more packages in each plane/truck. Besides, 99% of people have at least 1cm of padding to protect the package contents anyhow.

      It's exactly the same thing. Doing something that doesn't hurt too many people, in exchange for more profit. The fact that most people aren't going to be negatively affected doesn't make it right, or legal for that matter.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    31. Re:Look At It From the ISP's Standpoint by WolfWithoutAClause · · Score: 2

      A lot of pages are really popular. In that case, all of the proxy servers will quickly cache those pages.

      In those cases it's a big win.

      In the cases you mentioned, there's still no loss of bandwidth. If the proxies weren't there then you would have reloaded several times ANYWAY; therefore the bandwidth would have been the same.

      Of course the latency is pushed up by the cache, but that doesn't cost the ISP anything, and its not as bad as you would suppose, as the proxy server has more bandwidth than the users, so the cache fills quickly.

      --

      -WolfWithoutAClause

      "Gravity is only a theory, not a fact!"
    32. Re:Look At It From the ISP's Standpoint by adamjaskie · · Score: 1

      Grr... Ya know what really annoys me? Every time I see a REALLY good comment, I dont have any mod points. I would mod it up if I could, but I cant, so I wont.

      --
      /usr/games/fortune
  27. ISPs required by law to block port 80 in Singapore by tangent3 · · Score: 4, Interesting

    Here in Singapore, ISPs are required by law to block port 80, forcing all outgoing http requests to go through a proxy server (which filters out webpages which are deemed unsuitable for Singaporeans to view, including www.playboy.com), or to have a transparent proxy server blocking out such requests.

    This has caused me many problems before, when my IP gets determined wrongly by the remote site (which naturally thinks takes the proxy server's IP for my IP address). Some applications don't like the transparent proxy either, for example Frontpage Extension (not my choice to use!), and an autopatching program which refused to download the latest version of a file, insisting on downloading only the file cached in the proxy server until the cache gets flushed.

    The only real method of bypassing the proxy is to use another proxy server (since 8080 isn't blocked) outside the ISP's network. This tends to be really slow though.

    I guess I have to live with this until the government one day realises that proxy servers cannot stop the people from viewing pr0n, and it's probably not worth maintaining the proxy servers to meet the demands of all the net users in Singapore, not to mention maintaining the list of sites to block.

  28. corrections, suggestions, etc by MattW · · Score: 5, Informative
    First of all, the phrase "routing" is a misnomer. Web caching is something that happens on the application layer of the OSI model, layer 7, whereas "routing" refers to layer 3, which supplies IP routing for the TCP/IP protocol suite. What's broken is their caching, their cache server, or their proxying; pick a term.

    Second, there's a lot of ways around it which involve tunnelling.

    Tunnel to another box running a non-broken web cache. I used to tunnel my http traffic through ssh to my colocated boxes, which ran adzapper, and proxied through that.

    Tunnel at the IP layer by running any IP-in-IP encapsulation. If you have some version of windows, for example, you might convince someone with a server to run a PPTP server for you somewhere and you could tunnel through that. There are even Free PPTP Servers for Linux available to help.

    Find someone who runs a little proxier for their own net with socks, and bounce off their socks proxy. Someone you know no another ISP probably has Wingate or the like running, and if they allowed it (and on some older version, it will permit this by default), you could set your browsers SOCKS settings to bounce off their proxy server, and since SOCKS isn't on port 80, your ISP will probably ignore it.

    There are also a number of things you might discuss with your ISP to resolve the issue.

    Suggest that they switch to a less broken cache server. (Squid, anyone?)

    Suggest that they exempt you specifically from the cache server by telling it to ignore your ip address.

    Note that they have an obligation to make sure their caching software doesn't interfere with your browsing; so it will be necessary (and not cost-effective for them) for you to call for every problem you notice.

    Obviously, you'll need to probably speak to a whole number of supervisors, and probably eventually get transferred to a "real engineer", and they will probably hack in a fix (like exempting you only) rather than truly deal with the problem.

    If all else fails, then you may want to try issuing ultimatums, like, "If you can't fix this problem, then you can cancel my service." Tech support people are lazy, however, in some cases, and may just opt to cancel you. This is a harsh reality in the world of consumer bandwidth -- and it will be worse, soon, with bells closing their DSL lines to competition, meaning unless someone else builds a telephony infrastructure to you, you'll probably pick Cable vs 1 DSL provider, and if you don't like something at either of them, you're just out of luck.

    1. Re:corrections, suggestions, etc by Dr.+Zowie · · Score: 2

      >First of all, the phrase "routing" is a
      >misnomer. Web caching is something that happens
      >on the application layer of the OSI model,
      >layer 7, whereas "routing" refers to layer 3,
      >which supplies IP routing for the TCP/IP
      >protocol suite. What's broken is their caching,
      >their cache server, or their proxying; pick a
      >term.

      Thanks for the helpful comment!

      What I'm complaining about is that their router (layer 3) routes all port-80 packets to a cache server that looks at the payload only (layer 7) and not at the header at all. In short, they're not routing correctly; they've broken the layered structure of the protocol.

    2. Re:corrections, suggestions, etc by MattW · · Score: 2

      Possibly. There's a decent chance that the cache server is actually responsible for passing all the traffic, actually. A lot of routers can't properly route-cache if you try policy-based routing (which you must in order to route by port and not just destination IP + routing table). So ALL packets get passed through the cache server, but it just forwards non-port 80 traffic, since a mere receive/send is very quick, as its routing table will likely consist of only a dozen or so entries (the vast majority of which will be its default route out), and the cache server is likely to be sitting between their backbone routers which have to maintain BGP tables and the DSL lines/etc in question.

      Be sure to try the other helpful suggestion I read of trying port 65616 (that is the right port, btw) -- if your proxy server is stupid, it might pass that on. Of course, you'd have to type it into your URLs a lot, but it is still a way to get around the cache when you need to, if it works.

    3. Re:corrections, suggestions, etc by vsavkin · · Score: 1
      A lot of routers can't properly route-cache if you try policy-based routing (which you must in order to route by port and not just destination IP + routing table).


      If you mean Cisco routers, that's why they invented WCCP. It's the most effective way to make cisco route port 80 packets to a proxy server.
    4. Re:corrections, suggestions, etc by Anonymous Coward · · Score: 0

      He does not have a problem with the cache interfering with his request as such. He can't make the proxy connect to the right webserver. That is a problem related only to domain names and their resolution to ip-addresses. To connect to a webserver on the standard port 80, you have to send a SYN-packet to that server's ip-address. That (and all subsequent packets of the connection) are intercepted by the proxy. There's nothing you can do to avoid that, as ip-packets don't carry port numbers higher than 65535 (16 bit).

    5. Re:corrections, suggestions, etc by jhanson · · Score: 1

      I'm not sure if using squid would help. It looks to me like the problem is that when requests are made from openNIC, they don't work. Installing squid wouldn't help because it wouldn't be able to resolve openNIC names either. However, it might be worth asking them if they could add an openNIC nameserver.

    6. Re:corrections, suggestions, etc by Phroggy · · Score: 5, Interesting

      Tech support people are lazy, however, in some cases, and may just opt to cancel you.

      Au contraire. Tech support people are tired of listening to customers whine about problems that tech support people cannot fix. If customers have unreasonable expectations, and refuse to listen to us, it's far better for the company if they just cancel service and go elsewhere (becoming somebody else's problem).

      Also, non-chalance about canceling service is sometimes the best way to make customers understand that we really are doing our best to help them, and we're not just blowing them off. Sounds weird, but here's an example:

      Customer has a problem with their DSL service. We've identified that the problem lies with the phone company. Phone company has given us a commit date of Tuesday by end of business day for repair to be complete. For whatever reason, the customer feels like they've been dragged around, and their service isn't getting fixed. Customer says if they're not up and running by 9:00am Monday morning, they're cancelling service.

      Customer expects us to bend over backwards to get them up and running by 9:00am Monday morning. We can't. There is absolutely nothing we can do. It's out of our hands. Customer needs to understand this. Customer will have the same problem at any competing DSL ISP, but we're the ones who have identified the problem and are getting it fixed.

      We respond by repeating to the customer that we have been given a commit time of Tuesday by end of business day, but that we cannot guarantee that the issue will be resolved by then. We then offer to the customer that if this is unacceptible and they'd prefer to cancel service, although we'd hate to lose them as a customer, we'd be more than happy to transfer them to someone who can take care of that.

      This has the effect of making it clear to the customer that we really mean what we say. Usually, they shut up, keep their account, and let us do our jobs. Often, they'll ask to be transferred to get the account cancelled, then hang up during the transfer.

      The alternative is to offer the customer incentives to try to convince them to stay with us, such as offering a free month of service, or a credit on their account. This costs us money, and gains nothing - if the customer has the expectation that we're willing to give him free service, he'll try to take advantage of it in the future. Far too many ISPs have failed for this very reason.

      At the last few ISPs I've worked for, nearly all my coworkers have been genuinely interested in helping the customer, and we've been fortunate to have management that allows us to do so. I understand that at some companies this is not the case; those are obviously the ones to avoid.

      Sorry for ranting. Getting back on track: ultimatums like "if you don't fix this problem, I'll cancel my service" sometimes are a good idea. That will tell you whether or not you can get the issue resolved. Be prepared to actually cancel, because if they can't resolve the issue, that's what will happen. If they can but just don't want to, threatening to cancel may just be the incentive they need to get it done.

      --
      $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
      $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
    7. Re:corrections, suggestions, etc by MattW · · Score: 2

      Well, I was once in support. The company I worked for (an early ISP in 95) had a fairly well known client for internet connecting - it was a visual basic piece of crap designed to get you connected and start a slip connection, along with a few trivial tools (like a very lame usenet reader, a gopher search, etc).

      I could relate anecdotes all day, but here's a good one: customer calls up, and is getting the message, "Out of memory" and the app is crashing. Customer only has 4 or 8 megs of ram, a smidge low but not too low to run the app back in the world of WFG 3.11. I happened to divine this from listening to the call from the next cube over, and heard the person conclude that windows was causing the problem and recommend to the customer that they reinstall! ARGH. I practically jumped over the cube wall and got them to transfer them over to me, where I discovered that the customer had their virtual memory settings set to 0MB, manually. That and the 4/8M of physical ram did not mix.

      "Reinstall Windows" and "Reinstall XXXXX" (our product) were the favorite responses, and it was a culture of lazy, voodoo support, which is why I got customers calling back for the 12th time, sometimes. Add that to a hold time of over an hour, and its no wonder that company faded into obscurity.

      My experience going the other direction is even more common. I can scarcely EVER call anyone responsible for supporting an Internet service and not get either (1) a moron or (2) a lazy moron. Admittedly, I don't expect a lot -- good engineers don't like doing technical support. But when you describe routing problems to your colo provider and their support staff tries to immediately claim it is a problem with some other provider before even checking a traceroute (which, if they knew what they were doing, would let them realize what an out-and-out fabrication their claim obviously was), you get fed up.

      However, all this aside, my advice to the original poster was based on this general idea: his support people will be familiar with stuff like checking DSL line-downs and scheduling truck rolls, debugging customer DNS/DHCP settings, etc. They will never have any reason to even wonder about a caching server, most likely, but because many tech support departments have poor to nonexistant escalation paths to engineering, they will attempt to shaft the customer, either knowingly or perhaps ignorantly. But one way or the other, they won't fight their way through to escalate properly. I think if your experience is different, its the exception rather than the rule. (and bravo to your TS department if you do provide competent service time and again -- I've yet to come personally in contact with anyone who could do it, including a company where reps made an average of over $55k/yr).

    8. Re:corrections, suggestions, etc by Phroggy · · Score: 2, Insightful

      Where should a customer call to complain then?

      In my example, the source of the problem was the phone company, not the ISP. In the case of most large ISPs, the ISP has a contract with the phone company wherein the ISP orders the DSL service from the phone company, and the end user doesn't talk to the phone company. In this situation, an end user cannot even talk to the phone company about DSL problems. You can complain to your local Public Utilities Commission, and I would highly encourage you to do so.

      Should a customer just grab their ankles and say "please sir, may I have another".

      In the United States of America, with Republicans running the government? Yes. Congress is currently trying to pass legislation to make the situation even worse.

      In other situations, where the problem does lie at the ISP, the best place to go is straight to the top. Try to get in touch with the president of the company, or somebody else in upper management. They have the power to make it happen. Do not try to work your way up the chain (don't try to go any higher than the direct supervisor of the tech who answered the phone; that will get you nowhere); you have to go to the executive level.

      Poor ISP. They get money to do a job and they can't. So some pissant customer support moron complains about the customer.

      In my example, no competing ISP can do the job any better, except possibly the ISP that is owned by the phone company, and they do the rest of the job so poorly it's not worth it. In the case of problems at the ISP, understand that the company's management may not even be aware that there is a problem, and tech support often can't fix it. Complain to management, let them know there's a problem. If that doesn't resolve the issue, take your money elsewhere. That's capitalism at work.

      Poor you. You have a job that you can't do, so its the customer's fault. Boo hoo hoo. I see a long career at McDonalds for a slacker like you.

      I never said anything was the customer's fault, nor did I say I can't do my job. Sometimes telling customers "no" is my job; I'm not slacking when I do it, and it's not the customer's fault I have to.

      --
      $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
      $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
    9. Re:corrections, suggestions, etc by Webmonger · · Score: 2

      Routing is not a misnomer. In fact, there are two things broken; their proxy server and their routing. Their proxy server is buggy or misconfigured; their router is deliberately broken so that it sends any traffic on port 80 to their proxy machine, instead of the server it was intended to go to. If this wasn't his ISP, we'd call it a man-in-the-middle attack.

    10. Re:corrections, suggestions, etc by ErikZ · · Score: 2

      In the United States of America, with Republicans running the government? Yes. Congress is currently trying to pass legislation to make the situation even worse.

      Oh yeah, and when the Democrats ruled, it was all roses and song.

      Haven't you figured it out yet? Or are you still trying to make sure the wrong lizard won't get into Office?

      --
      Democrats or Republicans. They are both taking us to the same place and they are not afraid of us anymore.
    11. Re:corrections, suggestions, etc by Phroggy · · Score: 1

      Oh yeah, and when the Democrats ruled, it was all roses and song.

      It at least looked better. The Bush administration isn't really even pretending that something besides the interests of large corporations matters to them. The Clinton administration at least pretended.

      The legislation I referred to is the Tauzin-Dingell Act. I should have linked to it before, but didn't feel like looking for it.

      Haven't you figured it out yet? Or are you still trying to make sure the wrong lizard won't get into Office?

      I'll probably vote for Nader again, but I'd feel much more comfortable with the Democrats in power than the Republicans. Please understand, I don't actually like Democrats; they're evil too.

      --
      $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
      $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
  29. The REAL solution by Reality+Master+101 · · Score: 2

    The BEST solution that unfortunately will never be implemented is to allow specifying a port number in a DNS lookup. Then when the browser or e-mail looks up the address, one could also specify a port that you want.

    Unfortunately, this ain't gonna happen without a rewrite of everything.

    --
    Sometimes it's best to just let stupid people be stupid.
    1. Re:The REAL solution by Reality+Master+101 · · Score: 2

      Actually, I mis-read his question. Apparently his problem is outgoing port 80, rather than incoming port 80 block, which is what I'm addressing.

      --
      Sometimes it's best to just let stupid people be stupid.
    2. Re:The REAL solution by vsavkin · · Score: 1
    3. Re:The REAL solution by Anonymous Coward · · Score: 0

      What will be improved by this? DNS may be manipulated by the ISP to, even if people don't use their ISP's DNS: it can be transparently proxied as well.

    4. Re:The REAL solution by TheLink · · Score: 2

      I don't see how that would be the solution especially for this problem where the target server is still listening on port 80 which the proxy is still transparently caching.

      The real solution is for the proxy server to use the destination IP in the packet, and not try to reresolve the IP from the address stored in the payload which is what it is doing now.

      HOWEVER, one must be careful when doing that - there are some tradeoffs involved and some risks if badly implemented.

      The cache needs to index by IP addresses as well.

      e.g.
      IP address,HTTP_HOST,URI.

      Naively using the IP for the destination but not using it as an index for the cache will allow users to poison the cache with their own chosen data. e.g. telnet mysite.com 80, GET with the http host as www.microsoft.com ;).

      Cheerio,
      Link.

      --
  30. Re:could this be more of an anti-server thing inst by Anonymous Coward · · Score: 0

    doesn't allow ANY servers of ANY type
    You'd better make sure that you always use PASV mode FTP then or you'd be breaking the rules!

  31. What brand of transparent proxy is it? by billstewart · · Score: 3, Interesting
    Do you know what brand of attempting-to-be-transparent proxy cache server they're using? Proxy caching is an important performance enhancer for ISPs, corproate firewalls, and other bottleneck network environments, and "transparent" proxies are less trouble for the ISP and for the users as well (especially since many users wouldn't bother configuring their browsers for them unless either they're pre-configured by the ISP or forced to use the proxy by firewall rules that block non-proxy access.)

    Of course, the problem with transparent servers is when they're not, and your ISP seems to have one that isn't. Is it possible to find out what kind it is, either by telnetting to the thing and looking at headers or by asking the ISP, and can you do bug reports to the vendor to get them to fix their product?

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
    1. Re:What brand of transparent proxy is it? by Anonymous Coward · · Score: 0

      The issues he has with his ISP's transparent proxy can not be worked around.

    2. Re:What brand of transparent proxy is it? by Skapare · · Score: 2

      Why do you think it cannot be worked around? Do you know what brand this proxy is? Do you work for peakpeak.com? Do you work for the vendor of that proxy? It sounds to me like someone set up a non-transparent proxy in a transparent role. But I would not rule out some vendor marketing department over-hyping some product as a solution for transparency when in fact it is good only for caching.

      --
      now we need to go OSS in diesel cars
  32. This saves LOTS of bandwidth by theCoder · · Score: 4, Insightful

    My college has a similar set up because it saves an incredible amount of bandwidth. It's not to be mean, or malicious, or spy on your browsing habits, it's just to save bandwidth. And it does (I wish I had numbers to back this up, but I don't run the proxy).

    There have been problems with the proxy in the past (it not returning any data) and there are still some minor issues, but on the whole it works well (in that you don't ever notice it).

    It sounds like the ISP in question has a bug in their web cache code. If the web cache doesn't have the particular URL cached, it forward the request to the intended destination. I'd bet it's trying, but it can't lookup whatever OpenNIC URL is being specified (because it doesn't use OpenNIC). The ISP really should report this bug to the manufacturer.

    My advice is this -- get the ISP on your side to fix the problem. They won't remove the proxy, and they shouldn't have to if the bug is fixed.

    --
    "Save the whales, feed the hungry, free the mallocs" -- author unknown
    1. Re:This saves LOTS of bandwidth by isj · · Score: 1

      I have some numbers. I run squid locally.
      $ fgrep HIT access.log|wc -l
      3410
      $ fgrep MISS access.log|wc -l
      5850

    2. Re:This saves LOTS of bandwidth by Stinking+Pig · · Score: 1

      A good proxy is a great thing; not just for saving bandwidth, but also for improving performance. I've shared modem connections and high-latency wireless connections between multiple users, and the only thing that made it bearable was Squid.

      But if you want to get through a proxy and everything else is blocked, try corkscrew or httptunnel.

      .

      --
      "Nothing was broken, and it's been fixed." -- Jon Carroll
    3. Re:This saves LOTS of bandwidth by Skapare · · Score: 2

      Proxies are not inherintly bad. As you point out, they do have important benefits. But a broken proxy, as peakpeak.com has, which fails to make the connection to the IP address the client tried to connect to, causes problems. The correct behaviour would be to do the DNS lookup to get a valid list of IP addresses. If the intended origin server the client tried to connect to is among those, then check the cache by hostname alone. If the IP addresses do not match, then check the cache for a combination of hostname and IP address. If the cache doesn't have the requested document, then connect to the proper IP address and fetch it.

      I don't know which proxy servers (can) do this properly. Hopefully someone can post (a link to) a proxy server review with this much detail. I do agree the ISP needs to fix the proxy, and it shouldn't be necessary to remove the proxy to accomplish it. If they can't fix the proxy, then a workaround is to route the one customer around it (route-map in Cisco IOS can do this).

      --
      now we need to go OSS in diesel cars
    4. Re:This saves LOTS of bandwidth by 0x0d0a · · Score: 1

      I wish MS just disk-cached stuff locally with all free disk space in Windows. That'd take care of 95% of users, and the rest of us (with our already running local squid proxies) could use our computers in content.

  33. Isn't it IP-based if OpenNIC already resolved? by my+brain+hurts · · Score: 0

    If you're using an OpenNIC DNS, shouldn't the client computer already have the IP address of the appropriate server? The request should be going out to an IP address, so I don't see why the ISP's proxy would want to interfere.

    For example, if I typed http://64.28.67.150 into my browser, would the ISP's cache try to resolve that? or would it just forward the request to that address?

    1. Re:Isn't it IP-based if OpenNIC already resolved? by Skapare · · Score: 2

      A server running on a single IP address can serve multiple virtual hosts using the HTTP "Host" header to select among those configured. If you typed "http://64.28.67.150" then the client will send as one of the HTTP headers "Host: 64.28.67.150". The origin server (the one the ultimate has the requested document) uses that to select a virtual host, if so configured, or ignores it if not configured with virtual hosts. The proxy server, however, should respect the connecting IP address and use the resolved hostname only for cache matching purposes (so it can match a common cache among multiple IP addresses listed by DNS, if the destination IP is among them). So in the case of your question, using the IP address like that wouldn't make any difference. Where the difference lies in when you connect to a hostname in which your browser gets a different IP address than the proxy gets.

      --
      now we need to go OSS in diesel cars
  34. another example of this by Anonymous Coward · · Score: 0

    I have Cox cable modem (since @Home is dead). One day I found that I could not get to
    http://www.cryptome.org via a web browser. I thought maybe the site was down, but I was able to get to it via a web proxy, and also ping www.cryptome.org was working. Does anyone know what this means? Just a bad DNS server along the way, or malicious blocking? Th web browser reports: HTTP Error 403 - Forbidden.

  35. Re:Use netcat... or someone else's proxy server by zaffir · · Score: 1

    Again, before his packets get ANYWHERE, they have to go through that proxy his ISP is running. Setting another proxy would just be sending him through two.

    --
    "Upon attaching the waterblock to my penis, I began to notice that I know nothing about computers." -- JRockway
  36. Qwest once had a transparent proxy in Des Moines by ddkilzer · · Score: 1

    Qwest Communications, before selling dial-up and DSL customers to MSN, once had a transparent web proxy set up in Des Moines, Iowa. All outgoing HTTP traffic to port 80 was routed through the proxy.

    The worst part was that when the proxy went down, packets continued to be routed to it, but tier 1 tech support personnel (located in another state--probably Minnesota) had no idea that the proxy even existed. The only way to work around it was to use a web proxy somewhere on the Internet that did not operate on port 80!

    Qwest finally removed the transparent proxy shortly before switching customers to MSN. I eventually switched to Mediacom cable modem at home and McLeodUSA DSL at work.

  37. AOL ignores ports by Anonymous Coward · · Score: 4, Interesting

    AOL's transparent proxy is a little worse. It ignores the port and proxies anything that looks like HTTP. Of course, they deny having a transparent proxy, but I was able to watch packets leaving our network headed for AOL and then watch altered packets come back from AOL.

    I stumbled across this when their proxy had some trouble with the cookies we were using and suddenly no one on AOL could use our service. A few minutes later they could again. Then they could not. During this time, I was running a packet logger on the outgoing traffic from our server and on the incoming traffic to a workstation I had connect to AOL. Everything worked find until the server sent the cookie. Then AOL suddenly stopped sending more packets. This occured on every port I tried, even ports reserved for other services.

  38. The behavior is correct. by xanthan · · Score: 5, Informative

    The web cache is exhibiting correct behavior. When a forward proxy cache (transparent or not) gets a request in the form of GET http://www.site.com/ http/1.1, it will use the www.site.com address instead regardless of what original dns name you went to (www.google.com in your example). In the transparent case where the GET statement looks more like GET /content.html http/1.1, it will use the original destination address.

    In other words, it's your client that's broken. See RFC 2616 for details.

    The unfortunate truth is that more often than not, sites simply don't set their cache controls correctly. They forget that caches don't exist just on the server side but that they exist on the client side as well. Section 13 of RFC 2616 explains how they work in great detail and it really should be mandatory reading for any site administrator.

    If you're still looking for more information on web caching, check out Content Delivery Networks by Scot Hull. It was just released and is available on Amazon. There is an enlightening section on web caching that should clearly explain why what you're seeing is in fact correct behavior.

    1. Re:The behavior is correct. by GigsVT · · Score: 3, Insightful

      Well, yes and no, how could a proxy work with non-ICANN roots?

      It will try to resolve the address in the GET line, and fail, because it doesn't know about other TLDs.

      The only way to fix this broken proxy behavior is to have it ignore GET lines that is can't resolve, and instead forward the request intact to the IP address.

      --
      I've had enough abrasive sigs. Kittens are cute and fuzzy.
    2. Re:The behavior is correct. by Dr.+Zowie · · Score: 4, Informative
      Yep, the cache is behaving correctly for a cache. The problem is that it's behaving incorrectly for a router, because I can't send the http: requests I want to the hosts I want to send them to.

      I'm not familiar enough with the ins and outs of cache design to know whether RFC2616 is designed primarily for ``transparent'' or ``selected'' proxies, but using a DNS resolution on the destination host seems to break the layered structure of the IP stack. In this case, packets that I've (layer 3) addressed to a specific host never get there, because (layer 4) they're being directed to another machine based on port, and the other machine (the cache) is routine them based on a name (layer 7) contained in the packet payload.

      That is acceptable behavior for a proxy to which I'm explicitly routing my http requests, but not for a router down which I'm sending port-80 IP packets.

    3. Re:The behavior is correct. by Duncan3 · · Score: 1
      Yea, the solution is to ask them what the proxy address is and set your browser to that.

      When a browser knows its talking to a proxy, it will send the full "GET http://host/" rather then the "GET /".

      RFC 2616 just doesn't allow for transparent proxying.

      And if you are coding a client, ALWAYS send the full http://... string and the Host: line too, it's RFC compliant and solves this little snag

      --
      - Adam L. Beberg - The Cosm Project - http://www.mithral.com/
    4. Re:The behavior is correct. by Anonymous Coward · · Score: 0
      The web cache is exhibiting correct behavior. When a forward proxy cache (transparent or not) gets a request in the form of GET http://www.site.com/ http/1.1, it will use the www.site.com address instead regardless of what original dns name you went to (www.google.com in your example).

      If this is the standard, then the standard is borken. If the proxy fails to resolve an address, whereas the client it's proxying for has (or thinks it has) resolved it, it should make the request to the destination IP and provide the original host header. Anything less is an insult to the client.

      Transparent proxying is routing, BTW, and it's at layer 4 - the layer for tcp ports, that's why it's called Layer 4 Switching, or Port Switching.

      The real issue though, is that the ISP is not allowing the users an easy way of opting out of the proxying. ISP's like control over their customers' browsing (and a transparent proxy is open to all sorts of abuses) but it's rarely in the customers' interests.

      Get a different ISP, and when you have, email the main contact addresses for the old ISP, explaining why you left.

  39. Kaputt = kaputt by Pussy+Is+Money · · Score: 0, Troll

    First of all, this has nothing to do with "Port-80 routing", whatever that means. Second, if you ISP won't allow you to bypass their proxy, then your ISP is screwed, and any workaround you choose to implement will be so fragile and/or cumbersome as to be unusable. There is no third.

    --
    Pushin' 'n dealin', shovin' 'n stealin'
  40. Add randomness. by Andreas+Ribbefjord · · Score: 0

    Idea: Have a local proxy insert an HTTP header line with a random value to make your payloads differ from other customers'.

  41. Port Blocking by Aknaton · · Score: 1

    My very lame ISP, AT&T Broadband, blocks my incoming port 80. What can I do to get around this?

    Thanks!

    1. Re:Port Blocking by phebz23 · · Score: 1

      Probably get a different ISP. If you just want to serve web pages, you could always set up your web server to listen on a different port, like 8080 for example.

    2. Re:Port Blocking by hawkes · · Score: 1

      As the other poster mentioned, you can use a different port for your webserver, but than anyone who hits your site has to KNOW that specific port and put it in their browser whenever they come to your site.

      A better (but subscription) solution is to use a dynamic DNS service that can redirect incoming port 80 to a specific port on your dynamic IP address. Take a look at :

      http://www.tzo.com/MainPageServices/ProductSumma ri es/3SummaryStandardTzoRelay.html

      for details. Very slick, IMHO.....

      BTW, just make sure to secure your server, and make sure to keep up on patches for your OS - part of the reasoning behind the ISPs blocking port 80 are that clueless users run WWW servers and get their machines hacked (ie, code red, nimda, etc).

    3. Re:Port Blocking by Skapare · · Score: 2

      A minimal outside web service reached via the domain name you want to use can redirect all requests to a slightly different domain name, along with a port number which won't be 80. That won't prevent them from deciding to block every incoming TCP connection not recognized by various protocol proxies (e.g. FTP), so this isn't a perfect solution. As the cat and mouse game continues, you may end up having to keep up a tunnel to an outside server, and run that tunnel through faked HTTP as well.

      --
      now we need to go OSS in diesel cars
  42. How to find a transparent proxy's IP address by ddkilzer · · Score: 2, Informative

    If you want to find the IP address of a transparent proxy, simply point your web browser at a web page that will print out "your" IP address when you request a web page. Instead of printing the IP of your firewall or your host, it will print the transparent proxy's IP address.

    For example:

    After that, you may be able to do some more investigation into what kind of host it is and/or what kind of software it is running. (This is left as an excercise for the crac...err, reader.)

    1. Re:How to find a transparent proxy's IP address by Bender+Unit+22 · · Score: 2, Insightful

      Not for sure, most proxy/switch solutions can do ip-spoofing so the remote webserver can't detect it. This is often done to avoid user/login problems on systems that base parts of their security on IP's. If the site then has it proxy rules set correct in the meta tags or header information, the "hidden" proxy won't cause any problems or cache any information.

    2. Re:How to find a transparent proxy's IP address by Anonymous Coward · · Score: 0

      I just tried the first two and they gave my computer's IP-address and not the IP of the transpatent proxy.

    3. Re:How to find a transparent proxy's IP address by Skapare · · Score: 2

      But will your transparent proxy connect to the exact same IP address that your client tries to connect to, regardless of what the "Host" header in the HTTP request identifies for the virtual host selection within that server?

      --
      now we need to go OSS in diesel cars
    4. Re:How to find a transparent proxy's IP address by bedessen · · Score: 1

      Here are some more links to discover if you are behind a transparent proxy. Presumably these will get around any IP spoofing that the proxy might do since they're intended for this and not just "What's my IP?" although I really don't know the details of how these work.

      http://www.all-nettools.com/pr.htm

      http://www.broadband-help.com/cm_diagnose.asp?init =1

  43. It's in the layers. by Bender+Unit+22 · · Score: 4, Informative

    Normally what you do is to do layer 4 switching but note that you can do do switching on layer 7 as well, which means you can have the switch do url based switching so that a part of the url determines that it should get switched. This requires much more power and is mostly done for server switching like load balancing.

    What happens in your case might be that they have placed a switch that can do at least layer 4 switching, between you and the internet.
    What then is done is that all port 80 requests coming from the clients side(you) are re-directed to the proxy which means that http requests on other ports will not be cached. Note that anonymous ftp can also be proxied.
    A "clever" proxy/switch solution can do ip-spoofing so the webserver gets your IP adr. and sends it back to you directly, but as there is a switch inbetween, it redirects the result to the proxy which then sends the result back to you.

    A way to avoid it is to get a gateway somewhere that can channel your http traffic, you could set your browser to use this gateway as a proxy on any port. The switch will most likely not act on the traffic coming on this port an pass it though.

    The easy way would be installing a proxy server on a box that you have access to on the outside and configure it so that it won't cache anything.

  44. Re:ISPs required by law to block port 80 in Singap by SomeoneYouDontKnow · · Score: 2

    OK, this is a bit OT, but since you're from Singapore, I'm curious about something. I know that when filtering was proposed there, many people weren't happy about it. Has there ever been a move to form something akin to the EFF to protest this, or is the political situation still such that doing this would get you hauled into court by the government?

    The whole political situation there baffles me. More repressive governments have been forced to reform by popular protests. Why hasn't it happened in Singapore? You'd think that, with the extent to which the country is connected to the rest of the world, people would see what's happened in places like Indonesia, Thailand, Yugoslavia, etc. and want to do the same.

    --
    That light you see at the end of the tunnel might be from an oncoming train.
  45. Re:Use netcat... or someone else's proxy server by Anonymous Coward · · Score: 0

    No, most proxies listen on ports 8000 or 8080. Very few listen on port 80 and you don't need to use these. The transparent proxy decides that it wants to intercept the connection by looking at the destination port.

  46. Sounds like Cisco's WCCP by Krakken · · Score: 1

    I just implemented a Cisco CE507 at work. WCCP on our core Cisco router redirects port 80 to the cache engine.
    Save bandwidth and speeds deliverly of often viewed pages.

    1. Re:Sounds like Cisco's WCCP by Krakken · · Score: 1

      And I forgot to mention...it's Linux based!

    2. Re:Sounds like Cisco's WCCP by Skapare · · Score: 2

      Now the question is, when someone connects to an IP address, does the proxy, which intercepted the request, connection to that same IP address? Or does it do a DNS lookup and try to connect to what it thinks is the IP address? And if it does the latter, is it smart enough to fall back to the clients original destination IP address if it doesn't get one via DNS?

      The classic proxy server, which is connected to directly by the browser client, does not know what IP address the client wanted, because it didn't try to connect to one. But in the case of transparent proxy, there is now the issue of the IP address that the client was connecting to. Have you verified what your proxy is doing?

      --
      now we need to go OSS in diesel cars
    3. Re:Sounds like Cisco's WCCP by hrbrmstr · · Score: 1

      actually, it's not Linux-based.

      it's BSD-based running a bastardized version of squid and probably one of the worst WCCP-enabled transparent proxies on the market (we use them, or rather, *try* to use them to handle 30 million URLs a day and they are less than desirable).

      their disk (read: hardware that actually enables caching) subsystem is horrible; whatever they did to BSD to make the DNS lookups bite is also a mystery.

      also, they managed to slap an IOS-like interface (or a crappy web-interface) onto something that was far more robust initially and then proceed to limit what you can do with the power of squid.

      they:

      - don't handle authentication well
      - don't consistently obey the caching rules
      of http-retrieved objects
      - only intercept what they are told to, so
      port 80 can be transparent, but sites on
      high ports or "weird" ports go streaming
      by

      the list is longer, but i feel better now. *:^)

      Cisco Crash^H^HpEngines are best used as doorstops. Keep them out of my network.

      I'm not suggesting all methods of transparent proxying are bad, but definitely stay away from this one...

      --
      Mind the gap...
    4. Re:Sounds like Cisco's WCCP by Krakken · · Score: 1

      Perhaps you should check your revisions and look at the boot. The box *IS* Linux (ext2 and Becker eth drivers). Mine sucked until I go the right version. The IOSish interface does suck, but hey, they are going for IOS users. I tried Linux/Squid in its place and it couldn't cut it. Where do you get the BSD angle?

    5. Re:Sounds like Cisco's WCCP by cmkrnl · · Score: 0

      I'd agree, I did an appliance eval over 18 months back, NetCaches appliances kicked the cisco kit up and and down the road.

      Curmudgeon.

  47. Re:Use netcat... or someone else's proxy server by malachai · · Score: 0

    But ports other then 80 arent messed with at his isp, so using someone elses proxy not on port 80 would help

  48. How can you detect transparent proxying? by dfelznic · · Score: 2

    Hello,
    How can you detect transparent proxying? Or opaque proxying?

    1. Re:How can you detect transparent proxying? by David+McBride · · Score: 1

      There are a couple ways:

      (1) Use telnet to try to connect to a host which doesn't have anything running on port 80. If a transparent proxy is in operation, then you will be able to get an initial connection, but entering 'GET index.html HTTP/1.0 [enter][enter]' will hang for a while and then usually return an error code. Of course, normally, the connection would just be refused.

      (2) Inspect the http header contents returned from a convention http request. Many transparent web proxies add additional headers such as 'Via: ' which the web server might bounce back at you. The existence of such a header is a dead giveaway.

    2. Re:How can you detect transparent proxying? by Anonymous Coward · · Score: 0

      Most transparent proxies can be detected this way: Open a connection to a webserver which is currently not responding. The proxy has to intercept the connection to see what URI you're trying to get, so the connection will be established even though the real server won't respond. The only way out for the proxy without telling you that it's there is a timeout on the connection. Most proxies will return an error page of their own however.

    3. Re:How can you detect transparent proxying? by shepd · · Score: 1

      Easier:

      Try browsing to this or this.

      Assuming your local administrator isn't using up all the non-routeable IPs, those should not connect anywhere. If you get an error message back that looks different from the one you get from this (assuming you aren't running a server yourself) then they are running a proxy. If they are both the same then either they aren't running a proxy, or you are using a broken web-browser that doesn't return proper error messages, such as IE.

      Not as guaranteed to product a result as the parent message, but way easier! :-)

      HTH.

      --
      If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
  49. the best defense is a good offense by aminorex · · Score: 2

    Run up their support costs until they start using
    a non-broken proxy cache. Technical solutions are
    nice, but they only fix the problem for *you*. If
    you care about your peers, and the community of
    users, solving the problem for *everyone* is much
    to be preferred. Most users won't even understand
    that they are being screwed by the ISP. They
    depend on you to resolve the issue. Keep calling
    support until they fix it.

    --
    -I like my women like I like my tea: green-
    1. Re:the best defense is a good offense by Anonymous Coward · · Score: 0

      With AOL customer support now at £1 a minute and Clara and Demon not far behind, I hope you are very rich before you try this on. Bit of a silly idea, wouldn't you say?

    2. Re:the best defense is a good offense by Anonymous Coward · · Score: 0

      You aren't serious are you, one person calling in is going run up their support costs? The only time the proxy appears to not work is if one tries to use an opennic address, 99.99999% of the rest of the world only uses the regular root servers... You are very, very naive to believe that there is an army of people on that same ISP who are using non-standard dns servers.

      I don't know if I'd even really call it getting screwed over, if you try and use something that at this time only benefits one maybe two people at an ISP. In fact I'd say that making lots of changes to accomadate only the handfull of people who might benefit could be considered detrimental to the rest of the customers, the cost of a couple of people have to be supported by the rest of the customers.

    3. Re:the best defense is a good offense by Anonymous Coward · · Score: 0

      "You aren't serious are you, one person calling in is going run up their support costs?"

      Easily.

      Here's how you do it.

      You call up everynight. Something 2 or 3 times. You complain. Ask to be escalated. Do it again. And again. Insist they send a person out to your house to check your connection If a cable or DSL modem). Do it again and again.

      Pretty soon, they'll fix it, because you are costing them hundreds of dollars a month.

      It works like a charm.

      I give tech support 1 chance to fix it. After that, I'm polite but I keep calling back over and over. They start getting pissed, you shouldn't. Simply state the problem over and over and over and over and...

      Too bad for the tech support guys. That's their job.

    4. Re:the best defense is a good offense by cmkrnl · · Score: 1


      Obviously a 13 year old who takes the BOFH columns seriously.

      Problem being I know one or two tech support types who would make your life hell for however long you spent wasting that ISP's time. They hold the cards matey, you dont hold jack.

      Curmudgeon

    5. Re:the best defense is a good offense by Anonymous Coward · · Score: 0

      haha. it's funny how "technical oriented" people think they have some sort of power in the world. When it boils down to it, they have no power that a person with an MBA didn't give to them. What's even funnier is that the tech-support people (who can apparently make people's lives hell) are the lowest of the low. They are phone monkeys and cable checkers. They are the equivalent of a fast food cashier.

      I think that those cards you are referring to (that the "tech support types" hold) are really "Magic - The Gathering" cards. Fucking dorks.

  50. Comcast's Proxies by PlaysWithMatches · · Score: 2

    ... are a pain in the rear. From time to time, the web proxy will just... die. No data from my box can go out on port 80 to any sites for a good 10-30 minutes. This is in addition to the usual crap with their gateways, which cause stalls in ALL data transfers at random intervals, for a solid 30-70 seconds. Ironically, that gateway problem stalls my large file downloads and makes it near impossible to view streaming media at any level of enjoyability... The two biggest features flaunted by broadband services like Comcast. Anyway, sorry for the OT rant. :P

    --

    Mozilla's a nice operating system, but it needs a better browser.
  51. CONNECT by lmfr · · Score: 1
    I have similar problem with my cable ISP, and I've thought of changing my local squid proxy, that resolves IP fine, to connect directly to my ISP's proxy and then issuing a CONNECT to the host real ip, and then pass the normal HTTP request.

    Due to lack of time I didn't get to implement that, but when I do, I'll try to first request the document from the ISP's proxy and only in case of an error to try the connect method.

    1. Re:CONNECT by vsavkin · · Score: 1

      Very good workaround if the proxy allows CONNECT requests to port 80. Unfortunally it's not the case usually.

  52. Proxies have similar problems - try tunnels by billstewart · · Score: 2
    Yes, you can use a proxy server outside your firewall that will fetch things for you, but you *still* have the problem that if you don't control the configuration of the proxy server, it might not do what you want - you're just choosing between differently configured proxies, one of which might do most of what you want.

    If you can use a tunnel server, like IPSEC or PPTP or SSH, which lets you pick the IP address to send your IP packets to but doesn't interpret the packets itself, you'll mostly be ok (you'll still have to make sure to do your own DNS if you want to resolve on alternate roots.)

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
    1. Re:Proxies have similar problems - try tunnels by igjeff · · Score: 2

      >If you can use a tunnel server, like IPSEC or PPTP or SSH

      or L2TP

      Jeff

  53. Stick It To Them - Become a Bandwidth Hog by Anonymous Coward · · Score: 0

    Okay, find your own proxy to go through on some port besides 80.

    Next, download one of the "Internet Radio" applications and find some good 160kbs channel in Poland. Connect to it and then keep it going 25x7. Depending on the size of your ISP that should more than nullify their savings by implementing a transparent proxy on your particular subnet.

    I had MSN DSL for three years and had four computers connected anywhere from 160kbs to 128kbs 24x7 on streaming services after they overcharged me and took 12 months to refund my money. I'm sure they were glad when I left. Infrastructure costs are still roughly $.10 to $1.25 MB depending on the number of staff and quality of equipment. One user downloading several GB a month can really hurt.

  54. Bandwidth controls by Malc · · Score: 2

    It seems to me that ISPs use interception proxies to lower bandwidth costs. Here in Canada (Ontario at least), most of the big ISPs are talking about implementing bandwidth caps (5GB/month with excess charged at C$10/GB). I hope your ISP isn't doing both, as that would seem unnecessary and rather heavy-handed.

    My previous ISP, Sympatico, used to have a transparent interception caching proxy. It was quite troublesome and more of a translucent crashing poxy server. I remember being unable to access starwars.com for two weeks once, even though everything else seemed fine. It was particularly annoying for people whose MTU was set too high (they needed 1454 or less) as they would constantly get timeouts on HTTP POST, such as when trying to send email from a web interface like Hotmail or Yahoo. It was also a constant source of problems for people trying to author their own personal web pages as it would cache them and not show their updates.

    My current ISP, IStop.com, has an optional proxy. This is great! I normally use it, but if I have problems, I can switch to a direct connection. They run Squid and they also seem to have some sort of advert filter running. I get their logo (cached by my browser) or "This ad zapped" messages in place of at least 80% of web ads, which saves me lots of irritation, and both of us save lots of bandwidth. Incidentally, they also have reasonable bandwidth caps: 10GB non-local + 10GB local (mail, news, proxy, etc) per month, with excess charged at C$3/GB.

    After a while, Sympatico reduced HTTP interception to large population centres like Toronto, Montreal and Ottawa. Finally, they stopped doing that too. I guess it was causing too many problems and costing them too much to deal with it. If my ISP were to introduce an interception proxy today, I would leave them immediately. It's just not worth the irritation and problems for the length of time it will take them to fix it or get rid of it. I do live in an area where there is plenty of DSL competition though.

    So that would be my advice: switch ISPs immediately. Don't waste anymore time or effort on these guys.

  55. Re:could this be more of an anti-server thing inst by Anonymous Coward · · Score: 0

    You'd be hard pressed to break the rule, as some of these places actually block the incoming SYNs. Really.

    Take texas.net DSL accounts circa 1999, for example.
    I don't know if they still do. I purposely dumped them since they weren't willing to compromise on this point.

  56. Re:ISPs required by law to block port 80 in Singap by Frank+T.+Lofaro+Jr. · · Score: 2

    Considering one can get caned or even executed for fairly trivial things over there - I bet there hasn't been much protest. There also appear to be cultural factors at work - most people there would rather just "follow the rules", sort of like where the USA is heading. :(

    --
    Just because it CAN be done, doesn't mean it should!
  57. Don't miss the point by samjam · · Score: 1

    There's nothing so wrong about the ISP intercepting port 80 connections BUT WHY DON'T THEY MAKE A NOTE OF THE ORIGINAL TARGET ADDRESS and use that as part of the caching key as well as the GET request?

    AND then use the SAME IP when forwarding the connection.

    1. Re:Don't miss the point by Skapare · · Score: 2

      Probably the biggest reason is that many people (seems most of them have shown up on /.) have difficulty understanding the caching logic to make it work right, or are dealing with some perverted intercept mechanism that loses the origin server (where the client is connecting to) IP address during translation. If the cache is not "in" the router, doing NAT to handoff the request to the cache on a separate box is wrong. But apparently some do this anyway.

      --
      now we need to go OSS in diesel cars
  58. Then it's no ISP. by benb · · Score: 1

    An ISP ("Internet Service Provider") offers me transport of IP packets between me and the rest of the internet. That's its primary job.

    If the ISP doesn't do that, without interferance, then it's no ISP, because it didn't provide the serivce promised to you and you could take, in the extreme case, legal steps against them.

    (For example, AOL is no ISP in my definition. It may offer HTTP and email services, but that doesn't make it an ISP.)

    IANAL. Just my opinion, and I can only hope that judges would agree with my argumentation.

  59. Have you tried asking them? by wizman · · Score: 2, Interesting

    I am the network admin for a wireless isp that does transparent cacheing. If a user asks us to turn it off, we can disable it for their IP.

    For more than 99% of our users, they don't know what routing or cacheing is, much less that it's happening. For those that actually have issues with the proxy it's a quick modification to our ipchains rules. So far we've only had 2 such requests. Also, we disable the cacheing for business class users by default.

    I would hope that you would ask them to disable their transparent cacheing for you before doing something as rash as dropping them. It's my bet that most of their other users do not have this issue, and they may not even be aware that it is causing problems for you.

  60. Err...so what is broken exactly? by buffy · · Score: 2, Flamebait

    The original post describes the prediciment that she/he is in, but doesn't even say what is broken, exactly!

    From the submission, it actually appears that the proxy is working exactly as configured. The end user, however, is breaking things himself by using nameservers other than his ISP's. That can't be described as a failure of the ISP by any means.

    Proxy servers add a lot of value to any network larger than, say your 3l33t home rig. The two main purposes I use them for are to reduce overall bandwidth usage, and to insert some level of malware protection. I've saved myself, and my company a lot of headaches by blocking silly virus code requests.

    It's nice that the post managed to include links to RFC, etc... it's too bad that they don't seem to really have an understanding of how networks, specifically the Internet, works.

    As others have commented there are plenty of alternative ways to get around this like SSH tunnels, VPNs, third-party proxies, etc...

    Just my own little $0.02 worth of a rant. Please drive through.

    -buffy

    1. Re:Err...so what is broken exactly? by Dr.+Zowie · · Score: 2
      What's broken is routing. I can't route port-80 packets to the host of my choice. Proxies are all right as far as they go, but this one is mandatory. The ISP didn't advertise it and tech support takes the attitude that, well, it's transparent so it doesn't matter. It's just that it's not transparent.

      That's the problem with a lot of software "solutions": people don't think through all the worst case scenarios, just the main one, and the tool breaks when it's used in a way they didn't expect.

    2. Re:Err...so what is broken exactly? by Skapare · · Score: 2

      The proxy server, when operating in the role of an intercepting transparent proxy, should make the connection to the same IP address as the client did. And it should do it immediately if it has no cache entry for that (hostname,IPaddress) tuple. The proxy can then do a DNS lookup on that hostname later, to find out what IP addresses can have a merged/shared cache; later requests using one of those IP addresses would get the merged/shared cache, and those using other IP addresses would be cached separately.

      So tell my why a proxy server can't do this.

      Of course, it's not very likely the ISP will fix the problem very soon. Other solutions, such as an outside proxy, are likely to be the quicker workarounds. Ironically, this would defeat the bandwidth gains for the ISP, although for only an amount of that one customer. So the ISP shouldn't care as it's so small, right? If it turns out they do get angry that the customer is bypassing their cache proxy, then it's time for them to get their clue.

      --
      now we need to go OSS in diesel cars
    3. Re:Err...so what is broken exactly? by buffy · · Score: 2

      "Broken" routing is what they've done, NOT what that decision has "broken" for you.

      What I'm asking is to describe what you're seeing that doesn't work through the proxy. WHAT is broken? Are you having a problem connecting to a specific site, or collection of sites? Do certain streaming media not work? Come on, tell us what is wrong, so we can try to give you some proposed solutions.

      Complaining that you disagree with the decision of your ISP is not the same thing as offering up a real description of the resulting issues that occur because of that decision.

      I'm honestly very curious to hear, because I run such a proxy in my company's production networks, and sometimes my users are not actually the most vocal in telling my department if something is wrong. I'd like to hear what you're seeing.

      Thanks in advance.

      -db

    4. Re:Err...so what is broken exactly? by Dr.+Zowie · · Score: 2

      Okay, cool.

      The problem I'm having is that, because I have to rely on the proxy's DNS to resolve a web hostname, I can't get certain HTTP requests to certain hosts.

      The specific example that I mentioned is the "http://www.dev.null" URL, but there are loads of other examples. In particular, "http://www.dev.null" is a completely valid URL that points to, well, the dev.null site. To resolve the URL into a host IP number to connect to, you have to be using the openNIC DNS tree (.null isn't supported by ICANN).

      So far so good. I can connect my web client, for example, to "https://www.dev.null" and get the secure pages for the dev.null site. But the main pages at "http://www.dev.null" are invisible to me -- the most I can get is an error message from my ISP's ``transparent'' caching proxy.

      The reason for the difference is that my home box uses OpenNIC -- the https: request gets resolved into an IP number and my local host just telnets to that host on the appropriate port and issues an encrypted HTTP request.

      The http: request fails because, although my host resolves the host-part of the URL into an IP number, that number is ignored by my ISP's ``transparent'' proxy. All port-80 packets emanating from my home network get intercepted and fed into the proxy. The problem is that the proxy attempts to resolve the URL using ICANN DNS -- so it's unable to identify an IP number to associate with the URL. It's apparently poorly coded, in that it doesn't know enough to try the IP destination address on the incoming stream that it's intercepting.

      My ISP reacted sort-of the way you just did: "well, if you're not using DNS, you're out of luck, pal." But that's Wrong. If they had an explicit proxy server and I had some choice about what happened to my packets, that would be OK -- but they don't. All of my port-80 packets are being intercepted by a piece of buggy 'ware. That (A) breaks the layered structure of the IP protocol, and (B) prevents me from accessing big chunks of webspace that I'd like to use.

      If you administer a similar transparent proxy setup, I encourage you to ensure that it falls back gracefully to being a router if it can't make sense of the http: requests. Apparently the most popular Cisco solutions and Linux ipchains router/proxies are pretty easy to configure correctly (according to some of the other answers).

      Cheers,
      Craig

    5. Re:Err...so what is broken exactly? by buffy · · Score: 2
      [..snip..snip..]

      The problem I'm having is that, because I have to rely on the proxy's DNS to resolve a web hostname, I can't get certain HTTP requests to certain hosts.

      The specific example that I mentioned is the "http://www.dev.null" URL, but there are loads of other examples. In particular, "http://www.dev.null" is a completely valid URL that points to, well, the dev.null site. To resolve the URL into a host IP number to connect to, you have to be using the openNIC DNS tree (.null isn't supported by ICANN).

      [..snip..snip..]

      My ISP reacted sort-of the way you just did: "well, if you're not using DNS, you're out of luck, pal." But that's Wrong. If they had an explicit proxy server and I had some choice about what happened to my packets, that would be OK -- but they don't. All of my port-80 packets are being intercepted by a piece of buggy 'ware. That (A) breaks the layered structure of the IP protocol, and (B) prevents me from accessing big chunks of webspace that I'd like to use.

      Ok, so like I said earlier, you broke your own service by using DNSs other than provided by your ISP. An ISP, whether it be your office IT group, or Earthlink, cannot possibly be expected every single possible variation in service that any single user could require--it's not technically (well...financially) feasible. Instead you target providing services that will fulfill the needs of 98% of their customer base. Trying to completely satisfy the remaining 2% would probably cost as much as supporting the entire remaining 98% all together. That is, the needs of the 2% are so widely varied that trying to come up with a generalized deployment that fits everyone's need would bankrupt them.

      Given that you're the one who kind-of broke your own service, I'd have to say that the onus is on you, actually, to find a work around. Which, I guess is what you're trying to do in submitting the Ask Slashdot topic.

      I'm sorry if your ISP tech support didn't give you the touchy feelies when you called and complained that you broke your service. I do, in fact understand your frustrations, but have enough experience to also understand that there are limitations as to what a company targets when providing a service--same is true regardless of industry. If that were not true, then there'd be some spiffy newspaper that everyone on the planet read. But, for obvious reasons, it doesn't exist.

      If you're really upset with the response they gave you, vote the only way you can, with your $$. However, don't be surprised if other companies can't fulfill your every single need. In fact, I've never even heard of a real ISP that supported OpenNIC zones.

      I'm really not trying to give you a hard time. Just sharing with you some tough love. Better now, than later. ;)

      -buffy

      PS. On a side note, I think that my first message in this thread was the first time I've ever been moderated as flamebait. Obviously, someone was smoking something. It was fun though...

      Moving on...

    6. Re:Err...so what is broken exactly? by Anonymous Coward · · Score: 0

      simple. If it did this indiscriminately, I could telnet on port 80 to www.microsoft.com, but send a request for a file (/) with a Host header of www.somepornsite.com. The server would respond with a valid response, and the cache would store the porn site in place of M$ content. Funny, but not terribly useful if you run an ISP. The solution is to do a reverse lookup, rather than just looking up the content of the Host header, or else teach all transparent proxies about the alternative top level dns servers. Of course, for the strange TLDs, the reverse lookup would fail, so the failover would have to be to assume that it is the correct address. This means that those TLDs that only exist on the alternative DNS systems would not be able to protect themselves from the kind of hack that I described at the top of this comment. A decent workaround, but not ideal

    7. Re:Err...so what is broken exactly? by Dr.+Zowie · · Score: 2
      Ok, so like I said earlier, you broke your own service by using DNSs other than provided by your ISP. An ISP, whether it be your office IT group, or Earthlink, cannot possibly be expected every single possible variation in service that any single user could require--it's not technically (well...financially) feasible.

      Well, actually, no, what I'm buying is internet routing, using the internet protocol. That protocol is pretty well laid out in the RFCs. There's no special reason why this cache has to be the way it is. Other superior solutions exist for free -- some of the other answers in this very thread point out proxy caches that do the Right Thing, and as many have pointed out this behavior is totally to be expected in a manual (and hence avoidable) caching proxy.

      But caching proxies exist on a different layer of the internet protocol than do routers. Mixing those two functions is bound to break things. I understand the difficulty of getting users to use a proxy -- many don't understand that it will actually benefit them in most cases, for example. But caching proxies aren't routers, and shouldn't be.

      What's especially sad is that, by not planning for the failed-DNS-lookup contingency, whoever wrote their cache is breaking a whole suite of things that don't have to be broken, even with this flawed solution. Lots of effort, including this whole slashdot thread, some angst on the part of their technical staff (having to deal with me) and my own minor frustration could all have been avoided if perhaps two to ten lines of code (the contingency code in the proxy) were better thought out.

    8. Re:Err...so what is broken exactly? by shepd · · Score: 1

      Cough, cough. Transliteration translation time (please don't take it as a serious flame).

      Ok, so like I said earlier, you broke your own vehicle by using it on roads other than provided by your manufacturer. A manufaturer, whether it be Ford, Chevy, or Toyota, cannot possibly be expected every single possible variation in road quality that any single user could require--it's not technically (well...financially) feasible. Instead you target providing vehicles that will fulfill the needs of 98% of their customer base. Trying to completely satisfy the remaining 2% would probably cost as much as supporting the entire remaining 98% all together. That is, the needs of the 2% are so widely varied that trying to come up with a vehicle that fits everyone's need would bankrupt them.

      Given that you're the one who kind-of broke your own vehicle, I'd have to say that the onus is on you, actually, to find a work around. Which, I guess is what you're trying to do in submitting the Ask Chilton's topic.


      Why did I do that? Because of this paragraph you wrote (specifically the highlighted bit):

      >I'm sorry if your ISP tech support didn't give you the touchy feelies when you called and complained that you broke your service. I do, in fact understand your frustrations, but have enough experience to also understand that there are limitations as to what a company targets when providing a service--same is true regardless of industry. If that were not true, then there'd be some spiffy newspaper that everyone on the planet read. But, for obvious reasons, it doesn't exist.

      The fact is if the internet only relied on what ISPs could provide to their home customers, the world would end up a mish mash of incompatible, expensive service providers, just like the bad old days of Compu$erve, Delphi, Prodigy, Genie, and Q-Link. Blech!

      --
      If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
    9. Re:Err...so what is broken exactly? by buffy · · Score: 2
      Dude, I do understand what you're saying, however, it's nothing new. Oh, and I'd love for you to pull out your service agreement and point out where it says you're buying "internet routing, using the internet protocol." First off, wtf is "internet routing?" Network routing, yes, but Internet routing?



      Look, you are very close to understanding my point, and even being able to techno-literately describe your situation. Let me put my point in a more simpler manner--in the words of the immortal Spock: "the needs of the many out weigh the needs of the few...or the one."



      So, unless you've got Capt. Kirk and his band of Merry Men ready to save your ass, you're stuck.



      So, all that said, you'll either get it by now, or not. Regarless, it's not worth another minute of my time. So...moving on, already.



      -buffy

    10. Re:Err...so what is broken exactly? by buffy · · Score: 2

      Not quite. The comparison you've made is a bit broken. It would be more appropriate to say that this user is making a modification to the "product" and still expecting the same warantee to exist. I'm sorry, but I've I replace the steering column (ie. change the DNS) and then the car looses control because of a lose bolt, I hit a telephone pole, and injure myself...I have no business claiming that it was the car companies fault.

      The different highway comparison is not relevant, as he is still using the same transport method as provided in the "product."

      Good gravy, I'm done now. And, I'm really damned sorry that I ever even bothered to ask the silly user to explain what the hell he was meant.

      -buffy

    11. Re:Err...so what is broken exactly? by ViVeLaMe · · Score: 2, Informative
      ok, i think there are some misunderstandings here.
      let's clarify this a bit.
      The poster's problem is not with a "classical" HTTP proxy, but with a *transparent* (also called interception :-P ) HTTP proxy.
      The client uses OpenNIC's alternate root servers, to go to http://www.dev.null .
      Because of transparent proxying, he can't get to http://www.dev.null, because his outgoing port 80 requests are routed to a transparent proxy, who forget about the destination IP, and only take care of the payload of the request: the GET. Since the transparent proxy doesn't user OpenNIC's alternate root servers, it can't resolve www.dev.null, and can't serve the page requested.
      Now this is perfectly normal, expected, and even needed behaviour for a *normal* HTTP proxy, but if you look carefully at the RFC 1919, this is a broken behaviour for a transparent proxy: on a "normal" proxy, the client can even afford to not be able to resolve www.yahoo.com and still access it (it passes the HTTP request to the proxy, which will do the resolving himself). On a transparent proxy, the client is requested to do the DNS lookup, and the transparent proxy
      can determine what is the final target destination instantly, since the LOCAL IP address field of the connection contains the target server's IP address. There is no need for the proxy application to ask the client what is the final target system.

      What the transparent proxy should do is : remember the dest IP, and connect to that IP, instead of trying (and miserably fail) to resolve the hostname included in the payload of the HTTP GET request.
      As a matter of facts, that's not the only things a transparent proxy breaks. check out RFC 3143 for some examples.
      Anyway, if something like this is not specified on the poster's contract, the ISP should have implemented an 'opt out' method for customers who doesn't want it for any reasons (moral, technical, security, whatever). I work for an ISP, and when we implemented antispamming ressources (like MAPS, and so on), we were *required* to be able to let the spam flow to any consumer who asked not to be protected from SPAM. Might sound a stupid request, but, hey, what if the consumer is a SPAM survey organisation, or maybe it's a company with important customers which depends on RBL'd mail servers.. Same goes for antivirus email scanning, for example, since some customers may be virus researchers who WANT to receive those.. sounds stupid to drive those customers out by giving them *too much* services, and flexibility is a good thing. If somethin' so intrusive is mandatory, the ISP's no better than AOL.
      cheers.
      --
      i had a sig, once..
    12. Re:Err...so what is broken exactly? by shepd · · Score: 1

      What's the difference between off-roading (which car manufacturers make vehicles targetted at consumers for) and using an alternate DNS?

      When you use an alternate DNS you're going where most don't usually go. It really doesn't mean you deserve to be chucked off the internet. It does mean, however, that the company should offer (at a slightly higher price) an upgraded service. Why? Because if you don't, someone else will. And the old saying goes for your competition too, give 'em an inch and they'll take a mile. :)

      I'd say replacing the steering column is like asking them to route IPv6...

      --
      If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
    13. Re:Err...so what is broken exactly? by buffy · · Score: 2

      Ok, here's another analogy with cars, perhaps a bit more apropros...

      You buy you new shiny car, and go to pick it up. It's in a garage. You leave, but rather than taking the, umm, more conventional exit, you drive through the concrete wall six feet to the left. Your car stops working, probably because of the sections of rebar sticking out from the engine block. Now you complain to the dealer ship that you're car is busted, and it doesn't matter that you didn't use their "supported" exit.

      I really like that analogy. ;)

      I'm not saying that the ISP won't lose customers because they don't want to support users using OpenNIC. I'm saying that, from a business perspecive, I could understand them deciding not to worry about the small segment of users who need extra support in deference to supporting their core customer base.

      If this happens to you, then leave. Take your money elsewhere by all means.

      But, don't be surprised if the next ISP won't necessarily bend to your every whim, either.

      We are saying the same thing, so let's just stop, and move on to other slashdot stories! ;)

      -buffy

    14. Re:Err...so what is broken exactly? by Skapare · · Score: 2

      It would cache the porn site, but that cache would be accessed only when someone else did the combination of connection to a www.microsoft.com address and gave a Host header request of www.somepornsite.com. Usually, the requests would have www.microsoft.com in the Host header, so a different point in the cache data would be accessed, and that point would have data gotten from some server operated by Microsoft. I don't think the reverse DNS lookup is useful here. The forward one for the given Host header domain name is good enough to get a set of IP addresses. If the IP address the client was accessing is different, then the data on this transfer is cached separate from the data gotten from any of those IP addresses from the forward DNS query (or maybe just not cached at all, at the choice of the admin). While your description seems like it might work, it would add DNS latency to the request latency. Keeping the cache separated by (address,hostname) seems to me to be the fastest solution.

      --
      now we need to go OSS in diesel cars
  61. Some issues can be worked around. by billstewart · · Score: 2

    Dr. Zowie's description of the problem sounded like something that can be worked around, at least for some cases - which is why he may need to work with the transparent-proxy's vendor and not just the ISP. The two big problems are using the correct DNS lookup, and having old data in caches. Cache aging strategy is a standard problem - some systems do better or worse jobs of managing it, and some give you workarounds. (For instance, the proxy I use at work seems to respond to "Reload" requests from the browser and refresh its contents.) DNS lookup problems are really a bug - if the browser sends an http request to 192.9.200.1 for foo.bar.altroot/zap.html, it's certainly easier to implement by having the proxy forget the original packet's IP address, see if they have the page cached, and re-resolve the URL if not, but it's also a bug - they could keep track of the IP address as well as the URL. The bugginess of the dumb approach is most apparent with alternate-roots, but it can also be a problem for URLs at domains with round-robin DNS, where requests can go to any of the IPs in the group, but multiple requests need to all go to the same server for consistency, either because of stateful requests or because the servers aren't running with identical content names (e.g. for dynamic pages.) (One can argue that the servers are buggy in that case, but that doesn't mean that the caching proxy's behaviour isn't also buggy.)

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  62. Re:Use netcat... or your own proxy server... by Anonymous Coward · · Score: 0

    I think a light buld has just gone on above the kids head as to why his "work around" seems to work.

  63. tunneling over other than ssh... by rusty0101 · · Score: 2, Informative

    There are a few workarounds to the problem of devices that you do not wish to handle your traffic doing so.

    I have seen tunneling via ip-ip, ssh, and other ipv4 protocols mentioned, however there is another option available, and that is to tunnel your traffic as ipv6 traffic over ipv4.

    It does take a bit of time to set up, but if you can find an agreable ipv6 network provider to allow you to tunnel to their server, your traffic will not be handled by any transparent proxy server at your local ISP, regardless of the type of traffic that you are working with.

    I am not sure how complete the ipv6 implementation for Windows is yet, or, depending upon which version of Windows you may be running, if it is even an option, but for users working with Linux and BSD, this should not be a significant issue.

    Then again, I could be wrong.

    -Rusty

    --
    You never know...
  64. Well, duh. by Anonymous Coward · · Score: 0

    Gee, guess, what, genius? You start pretending that the DNS has a different root than other people do, and things break. Why is this surprising to you?

    "Waaaaaaaaaa! I shot myself in the foot! All this blood, flesh and bone laying everywhere is clearly a CONSPIRACY to keep my OPEN SOURCE BULLET from violating the laws of physics! Someone alert Slashdot!"

    1. Re:Well, duh. by Skapare · · Score: 2

      TCP/IP does not mandate the use of any specific root servers. This kind of thing doesn't even need to involve alternate DNS name spaces to have an impact. It's perfectly valid to connect to an IP address which is NOT listed in the A-records for a hostname which is also included on an HTTP "Host" header line. Yes, these are weird things, but they are valid internet protocol. If a business wants to assert that it is offering true internet service, then it needs to make it work exactly as if it were. If they can pull off doing a cache that ends up behaving to the end user exactly the same, great. But peakpeak.com didn't accomplish that. An intercepting transparent proxy server should always connect to the true origin server, and pass any "Host" headers through unchanged. It must use them to check for cache validly, along with the IP address. Even in the case of peakpeak.com's broken proxy, which was wanting to connect to whatever IP it got from DNS, should still fallback to the IP address the client was using if it gets nothing from DNS. It didn't even do that. That's very broken.

      --
      now we need to go OSS in diesel cars
    2. Re:Well, duh. by roybadami · · Score: 1

      TCP/IP does not mandate the use of any specific root servers


      But the Internet does mandate the use of specific root servers.
    3. Re:Well, duh. by Skapare · · Score: 2

      Who told you that? ICANN?

      --
      now we need to go OSS in diesel cars
  65. send it some garbage by Dr.+Awktagon · · Score: 2

    My ISP (CTC) started doing this on my static dialup without warning. I noticed because 1) eBay pages suddenly required reloading in order to update (ie, if I quit the browser, and then went back to a dynamic eBay page, it was the same as before unless I reloaded the page). .. and then 2) I noticed when connecting to another machine, the address that showed up in the logs was not mine!

    Anyway, after poking the machine I discovered it was a Cisco something or other. I also discovered that if you sent a malformed or invalid request, it would STOP transparent proxying for a few minutes!

    So the solution I came up with was to telnet port 80 someplace (didn't matter where, because the proxy would pick it up) and type "PLEASE DON'T PROXY ME" and close the connection and then it would leave me alone for a few minutes.

    Most of the time I left it on as the proxying seemed to speed up the usual day-to-day surfing. But you might want to try a script to do this automatically. Probably this is just an option the engineers forgot to turn off (I believe by law they must turn off all customer-friendly services :-).

    After a few weeks of doing this, and making a few phone calls, the proxy mysteriously went away. Maybe they took my static dialup off the list, or they decided to do it for everybody. Whatever. I've been using Squid so it's pointless for me anyway.

    1. Re:send it some garbage by nochops · · Score: 1

      Actually, you might not want to write a script to do this automatically.

      That is, unless you're OK with being sued and disconnected by your ISP. What you did is no better than ORBZ's probing of email servers, and causing them to loop.

      You have effectively DOS'd the server, and the ISP has every right to consider your actions hostile.

      Legit users most likely get cut off from the proxying service as well, and the ISP doesn't acomplish whatever it was they were trying to accomplish by proxying in the first place.

      Call them on the phone, write an email, or just find another ISP. But don't just go indiscriminately DOSing their proxy with no knowledge of what the consequences are.

      --
      "A terrorist is someone who has a bomb but doesn't have an air force." -William Blum
    2. Re:send it some garbage by Skapare · · Score: 2

      What makes you think it suspended proxying for all the other customers/user when just one customer/user does this?

      --
      now we need to go OSS in diesel cars
    3. Re:send it some garbage by Dr.+Awktagon · · Score: 2

      Ha! 1 0wn3d 17! /\/\3 S0 L33T! LOLz!

      Ahem. It didn't get DoS'd, it simply stopped intercepting packets from port 80 from my particular IP address for 5 minutes, not everybody else. It's a transparent proxy on outgoing port 80, there's no guarantee that port 80 traffic is HTTP. I sent it some non-HTTP traffic.

      It also did a similar thing when I went to "http://blahblah.com" where blahblah.com is a host that isn't running a web server. The first time it would hang, subsequent attempts returned were "connection refused" directly from the remote server. (I assumed anyway, unless some really weird fuckery was going on).

      Sending non-HTTP traffic out of my port 80 should not screw up the transparent proxy. How about if a client dies in the middle of a request? (Sending "GE" instead of "GET /" or whatever). Or what if they want to connect to a MUD on port 8080 and mistype 80 or something. Or what if somebody is running an SSL server on port 80. That's one brittle piece of firmware if the whole show goes down because of that! Hackers would love it and embed https://host.com:80/ images in all their web pages to crash all these proxies.

    4. Re:send it some garbage by Dr.+Awktagon · · Score: 2

      Actually (for the benefit of anybody actually reading this thread) it would only suspend proxying based on REMOTE address. i.e., if I went to playboy.com port 80 and typed garbage, then I could subsequently connect directly to playboy.com:80. If I then went to hustler.com:80, it would be via the proxy unless I did the same trick. I couldn't test to see if it affected playboy.com:80 for EVERYBODY or not.

      Now I recall why I never wrote a script to do it automatically....it had to be done for each remote addr.

    5. Re:send it some garbage by Hyped01 · · Score: 1
      So then, for the person in question, it should be as simple as to bounce a malformed request back TO his machine to disable the router from trying to proxy his outgoing httpd traffic... so your answer should still apply!

      (Remember, he is trying to serve web pages if I remember correctly... then again, been a long time since i had a cup of coffee... but I think that was the original scenario...)

      I think you may have just solved his problem. A simple script, bounce some bad requests to his web server for whatever address (or each) that he is hosting on it and viola!

      Robert

      --

      WebMaster:
      BinFeeds
      XXX Thumbnailed Image Newsgroups but

    6. Re:send it some garbage by Hyped01 · · Score: 1
      This isnt DoS'ing their server... once every 5 minutes, a simple GET garbage or other command wont do anything major... if a whopping 10-20 bytes kills their proxy, it shouldnt be running anyway.

      Besides, what right do they have spying on their customers activities anyway? Let's see, At Home, AOL, Verizon and Qwest have been sued for such as that was (at least one of) their apparent reason(s) for proxy servers... (At Home's replacement in the ComCast world was threatened with a suit for similar reasons if they didnt stop - which they did).

      --

      WebMaster:
      BinFeeds
      XXX Thumbnailed Image Newsgroups but

    7. Re:send it some garbage by PeteEMT · · Score: 1

      In a way.. this sounds like it would do exactly what the original poster wants to do. If the Proxy can't get to the host your trying for whatever reason, it stopped redirecting for that host for a short period of time.

      Still you could file it under "less broke" rather than a fix :)

      --
      Pete
  66. Re:could this be more of an anti-server thing inst by Anonymous Coward · · Score: 0

    Me and my roommate use Cox@Home in Phoenix, AZ and found that our port 80 traffic was blocked to our server here in the house. We contacted Cox and the rep confirmed that they are blocking all the traffic through that port since we shouldn't be running a server for HTTP (ie without purchasing Cox@Work). We get around it by referencing our ip to a service in an office where my friend is Sys Admin, and having him reroute the traffic to our server through another port.

  67. Can't you just find an outside proxy? by Anonymous Coward · · Score: 0

    We need a p2p network of Squid proxies.

  68. Well, some bandwidth but it works well by swb · · Score: 2

    We have a squid cache and during peak browsing, er, working times we see 40-50% cache hit rate.

    I think the byte savings isn't quite as good as that, but I don't have any solid data to back that up.

    The best I can say is that we had to shut the cache off for a day or so to do some maintenance and the help desk got a lot of calls about how "slow" the web was, in spite of the fact that not more than a few days prior we had *doubled* our internet bandwidth (single 1.5Mbit frame to MPP bonded dual pointtopoint).

    I think that overall it provides much better bandwidth utilization (ie, fewer packets on the ISP link, even if the byte savings is only 10-20%) and the client browsing experience is a lot snappier.

    Our ISP used to have a whole statewide squid cache hierarchy which you could tune your local squid cache into if you wanted to -- I wish they still did, the aggregated caching would have been very nice.

  69. [OT] removing Konqueror from KDE by leonbrooks · · Score: 2
    If IE's Windows integration is a monopoly, then I'm all for the removal of Konqueror from KDE

    Not the removal, the separate availability. <mind mode=screensaver>You should be able to buy Linux and install it without Konqueror, and Konqueror without Linux. Oh, wait a minute... you can!</mind>

    Just to rub the point home, you can buy and install Linux with or without graphics, with a different Graphics layer (such as Berlin), with a different window manager (such as FluxBox) and so on. All (modulo a few libraries) with or without Konqueror or one of a host of other browsers (Mozilla/Galeon/SkipStone, Netscape, Opera, Amaya, Mnemonic, OmniWeb etc).
    --
    Got time? Spend some of it coding or testing
    1. Re:[OT] removing Konqueror from KDE by JamesKPolk · · Score: 2

      No you can't.

      Konqueror relies on all sorts of KDE services. Konqueror uses every part of kdelibs if you have the audio previewing on. Konqueror simply won't work unless you have the rest of KDE installed.

    2. Re:[OT] removing Konqueror from KDE by leonbrooks · · Score: 2
      Konqueror simply won't work unless you have the rest of KDE installed.

      1. I'm waiting for you to explain Embedded Konqueror.
      2. Even - for the sake of debate - granting you your statment, the point would still stand: you can rip Konqueror out of KDE and still use KDE.

      --
      Got time? Spend some of it coding or testing
  70. Wrong. That's not what's happening. by Skapare · · Score: 2

    Wrong. That's not what's happening. Ordinary proxying does use the modified GET request form where the URL is used in place of the URI. However, transparent proxying is different because the client is sending a URI, not a URL. And it's connecting to the origin server IP address directly, not to the proxy. The only way to identify the correct host is to use the IP address the client attempted to connect to. That's the transparent in "transparent proxy".

    If a client does attempt to connect to some IP address, and a transparent proxy won't use that IP address because it thinks the origin server is at another address, that's wrong. But if it has no idea what the origin server IP address is at all, even though the client was indeed connecting to it, then that's doubly wrong. A message from the transparent proxy saying it cannot find the IP address is simply stupid because it has the IP address the client connected to, since this is a transparent proxy.

    --
    now we need to go OSS in diesel cars
  71. Transparent proxying should be an option by Denium · · Score: 1, Informative
    If the user wants to use proxying, so be it.

    If the user, despite ISP encouragement, chooses not to use a proxy, that should be his choice. He is paying for the bandwidth, and is assumed to be aware of the possible performance hit.

    This was discussed in the vuln-dev mailing list after Comcast implemented transparent proxying.

    This raised quite a stink when Comcast's logging habits were revealed. Oops.

    There is obviously a performance degradation involved with re-resolving the address given to the cache server. Furthermore, requests now appear to be coming from the server, not the actual user -- potentially breaking host-based authentication systems.

    I've also seen these cache systems horribly implemented. An IRC network that I administer recently starting checking for HTTP proxies on connection. This was performed by connecting to the remote user's host on certain ports (80, 3128, 8000, and 8080) and then issuing a CONNECT request. In more than one case, a blatantly stupid ISP redirected _incoming_ port 80 traffic to their server -- WITHOUT any sort of access restrictions on their proxy. Sort of ironic that they were probably using untold amounts of bandwidth for 1337 bounce kiddiots.

    Proxying without consent is an Evil Thing.

  72. Not necessarily by greenrd · · Score: 1
    If it's on a different port to port 80, the ISP wouldn't necessarily do HTTP caching, because not all ports carry HTTP traffic (I know this is a little hard to understand for those who think the web == the internet...).

    1. Re:Not necessarily by Anonymous Coward · · Score: 0

      You're right, i hadn't thought that his proxy would be different than the one Charter has set up "for me." If you choose to use it, they cache everything. And yes, its dead slow.

  73. Why transparent proxy though? by JebusIsLord · · Score: 1

    Why not just use a port 8080 http proxy instead though? Most of our customers go through one without their knowledge, and those that know better simply turn this feature off. IE defaults to autodetecting an HTTP proxy anyhow, making for no configuration.

    --
    Jeremy
  74. No, it's not. by mindstrm · · Score: 2

    Port 80 is not the 'realm' of http. It's just commonly USED for http.

    A transparent proxy *does* break standards. You are no longer buying an internet connection, you are buying a filtered, proxied, mutilated internet connection.

    That aside, this is not the issue the guy is having.

    He's trying to use an alternative DNS system.. but the proxy is using it's own.. so he is hostage to what his ISP wants to resolve things to.

    As for standards.. the STANDARD is to route IP traffic, not analyze it, mangle it off to a transparent proxy, and then send it onwards.

    1. Re:No, it's not. by khuber · · Score: 2
      Port 80 is not the 'realm' of http. It's just commonly USED for http.

      Wrong!
      IANA has assigned 80/tcp and 80/udp as the well-known port numbers for HTTP. See RFC 1700 or IANA port numbers .

      -Kevin

    2. Re:No, it's not. by cmkrnl · · Score: 0

      >You are no longer buying an internet connection, >you are buying a filtered, proxied, mutilated >internet connection.

      Well find another ISP then and pay the price premium for a direct net connection, otherwise its a whine.

      Curmudgeon.

  75. Not 99.99999% by Skapare · · Score: 2

    I doubt it's 99.99999%. There are apparently quite a lot of people trading around on the .MP3 and the .DVD hidden domain networks. RIAA and MPAA people most likely have no idea how to get there, if they even know it exists. Do you?

    --
    now we need to go OSS in diesel cars
  76. http / 1.0 ? by Punto · · Score: 2
    Does it work with http 1.0? you could get them with that.. (1.0 doesn't require a 'Host: ' header, so the request could just say 'GET /index.html HTTP/1.0\n\n', and the proxy wouldn't know where to send the request).

    you could also setup a proxy on localhost that rewrites the Host header from 'Host: www.weird_ass.domain' to 'Host: www.weird_ass.domain.existing_domain.com', and then have the DNS server that resolves 'existing_domain.com' to reply with the IP for 'www.weird_ass.domain' when it gets a request for 'www.weird_ass.domain.existing_domain.com'. Maybe the maintainers of the 'weird_ass.domain' zone alredy have that.

    You'll probably need a lot of custom code for something that can be fixed by changing ISPs tho.

    --

    --
    Stay tuned for some shock and awe coming right up after this messages!

  77. transparent proxy dodging micro-HOWTO by Autonomous+Coward · · Score: 1
    I use this all the time to get around the proxy at my large, sketchy employer, which blocks "tasteless" and "subversive" sites like Salon; and also occasionally to get around the severely broken transparent caches used by my cable modem provider. Note that this requires a shell account outside the proxy.

    $OBSCURE_PORT_1 = obscure port # on your local machine
    $OBSCURE_PORT_2 = obscure port # on machine outside firewall

    On the machine where you have the shell account, download and compile the ucspi-tcp package, and micro_proxy. Put the tcpserver and micro_proxy binaries in your $PATH; throw everything else away.

    To run the proxy:

    From your local machine,
    ssh -C -L $OBSCURE_PORT_1:127.0.0.1:$OBSCURE_PORT_2 -l [username] machine.where.you.have.shell.account.co.va
    (or if you use some fancy Windoze SSH client, forward $OBSCURE_PORT_1 on your local machine to $OBSCURE_PORT_2 on the remote machine)

    Once logged in, run tcpserver -DHlR 127.0.0.1 $OBSCURE_PORT_2 micro_proxy & on the remote machine

    On your local machine, set your browser to use HTTP and HTTPS (IE)/SSL (Mozilla) proxies on host 127.0.0.1, port $OBSCURE_PORT_1

    Surf to your heart's content.

  78. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  79. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  80. Re:Use netcat... or someone else's proxy server by Fudge · · Score: 1

    How is that going to help ? He wants to use OpenNIC. I don't know of any free proxy servers that use OpenNIC which they'd have to.

  81. Re:ISPs required by law to block port 80 in Singap by Jah-Wren+Ryel · · Score: 1

    That proxy machine or machines would make a great target for the script kiddies out there. Imagine if it were cracked open and reconfigured to return porn pictures for every tag proxied through it. Something like that would be such a great meta-hack.

    --
    When information is power, privacy is freedom.
  82. How this is done by JPriest · · Score: 2

    This is don't with the Web Cache Communication Protocol (WCCP ) from his ROUTER. the command to find out if a Cisco router is WCCP enabled do a sh ip int (your int). Yo can look up the specs of the protocol to figure out how to try and bypass it. But you probably won't get ther by using another proxy(tried it), because you will still go through the original proxy configured at the router before going anywhere.

    --
    Saying Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders.
  83. Completely bogus for them to do that... by Alien+Being · · Score: 0, Troll

    When I pick up my phone and order a pizza, i don't expect the telco to redirect me to a "closer" pizza shop.

    99% of ISP's customers have no idea what goes on when they click a link, so the ISP gets away with this bogus routing (proxying, whatever).

    I'd like to see a good definition of what an "ISP" is. I have a feeling a lot of so called ISPs would fail the test.

    Transparent? No way. There are two sides to a tcp connection, and the server side is completely blind to what's going on.

    Call their tech support, waste their time til they figure out that you expect them to send your packets to their intended destination. It sucks that clueful helpdesk people get stuck in the middle of this, but it's the most effective thing a customer can do about it.

  84. Re:ISPs required by law to block port 80 in Singap by fr0zen · · Score: 1

    Proxy is required by law for end-users aka dial-ups and general public, but for business consumers its not madatory and the actual responsibility of internet access control is delegated down to the company itself. As for the general public, its up to them if they want to access pr0n, the policies ISPs imposes just follows the standard rules and guidelines from IDA. In short you as a general public defaults to no pr0n, but as a business user you can get yourself out of the tranparent proxy loop ;)

  85. Re:ISPs required by law to block port 80 in Singap by fr0zen · · Score: 1

    There's nothing to proetest about, would you go protesting to your ISP if you can't get to a pr0n site? Not very likely, unless you run that site. OT, Anything you do that doesn't coincides with the general public can get you into hot soup. So do you think that Singaporeans would choose to protest over filtering of internet access? Not very likely. The government only oppresses "trouble-makers", the few being oppressed are those whom have went out-of-line. The general public is very content with what the government is doing and has done for the last few decades and you can't compare it to those governments you mentioned.

  86. Re:ISPs required by law to block port 80 in Singap by Zeinfeld · · Score: 2
    I guess I have to live with this until the government one day realises that proxy servers cannot stop the people from viewing pr0n, and it's probably not worth maintaining the proxy servers to meet the demands of all the net users in Singapore, not to mention maintaining the list of sites to block.

    The Singapore government is probably more concerned about stopping people accessing the numerous overseas sites run by the opposition movement. For those that don't follow Singapore politics it is one of those countries where the government brings specious lawsuits against opposition politians and elections are run in the manner of the old Soviet Union.

    Of course since it is a capitalist pseudo-democracy this rarely gets comment in the western media. When it does the government has sued for libel under its mickey mouse libel laws in its kangeroo court system.

    All phone calls made in Singapore are tapped and the government analyses the telephone call logs to see who is talking to whom. Its kinda the state that Ashcroft would like.

    --
    Looking for an Information Security student project suggestion?
    Try http://dotcrimeManifesto.com/
  87. WRONG by mnot · · Score: 2, Informative

    Transparent proxying is a violation of IP routing, plain and simple. This has been discussed ad nauseum on the IETF WREC WG mailing list and the IETF main list.

  88. Nope by Skapare · · Score: 2

    Each (hostname,address) tuple can be a different site. The server needs to cache that way. I wouldn't consider doing it any other way. Maybe the proxy server you would write could be poisoned, but mine would not. Then the cache can be optimized by doing a DNS lookup (but not delaying the first request for this) to get the IP addresses. If there is more than one, the cache indentities for these would be merged and shared.

    --
    now we need to go OSS in diesel cars
    1. Re:Nope by Anonymous Coward · · Score: 0

      > Each (hostname,address) tuple can be a
      > different site. The server needs to cache that
      > way. I wouldn't consider doing it any other way

      And then your hit rates would suck, since
      most of the majorly hit websites on the net have
      multiple IP addresses per hostname, and your cache
      would be filled full of duplicates.

      > If there is more than one, the cache
      > indentities for these would be merged and
      > shared.

      Dude, this is bullshit. I'd like to see you write
      an efficient, scalable caching filesystem that
      allows for merging of one-way hashes (the URLs)
      after they've been stored (so, you plan to maintain
      a backward mapping? nice, efficient when you are
      doing thousands of URLs per second)

      I'll take my words back when you show /. some code.

    2. Re:Nope by Skapare · · Score: 2
      Dude, this is bullshit. I'd like to see you write an efficient, scalable caching filesystem that allows for merging of one-way hashes (the URLs) after they've been stored (so, you plan to maintain a backward mapping? nice, efficient when you are doing thousands of URLs per second)

      The hashes don't have to be changed. Once you have the set of IP addresses to merge, you simply pick one (the first one will do) and that becomes where all the data is stored. The cache entries for the other IPs will simply have an alias link to the first one. Those N-1 alias links will be set up at the time the collection of IP addresses is obtained. Although filesystem symlinks is an analogy to this, those would not be used. Instead a block of data would be used giving the canonical IP address to use for the cache, or give its already calculated hash. That data would also include the absolute expiration time based on the DNS TTL data, so the web site can change IPs.

      At lookup time you have hash(IPaddress,hostname) and find the cache subtree for it. Instead of a subtree, you have gotten an alias object. Now you have hash(canonicalIPaddress,hostname) and lookup again, which now gives a real subtree. With hash(URI) you now can find the cached document. The difference is O(2) vs O(1) (whee). Along the way, of course, you check expiration, and schedule expired objects to be expunged.

      Code is not needed because this is the analysis/design phase I'm describing. Good systems are done with some analysis and design (possibly going back to it in cycles as needed for extreme programming). Once you understand the design, you can code it. A serious cache server needs much much more analysis time, design time, coding time, and repeated cycles of development, than is possible while composing a /. response. What I described is necessarily brief because I have other projects to do which I am not dropping because one /. reader can't figure out the description of a design and has to see code to understand it. You don't have to take your words back because I don't care if you have them or not ... they were worthless, so I put them in my Enron queue.

      --
      now we need to go OSS in diesel cars
  89. Are you crazy? by Anonymous Coward · · Score: 0

    WTF are you talking about? IPSEC and web proxies have been part of windows for years!

  90. KDE isn't an operating system. (n/t) by Anonymous Coward · · Score: 0

    Important Stuff:

    Please try to keep posts on topic.
    Try to reply to other people comments instead of starting new threads.
    Read other people's messages before posting your own to avoid simply duplicating what has already been said.
    Use a clear subject that describes what your message is about.
    Offtopic, Inflammatory, Inappropriate, Illegal, or Offensive comments might be moderated. (You can read everything, even moderated posts, by adjusting your threshold on the User Preferences Page)

  91. it doesn't have to be that way by Anonymous Coward · · Score: 0

    A well written transparent proxy would forward the request to the original destination address of your packets if it suffered a cache miss. In that case, nothing would break. There is really no reason to perform a new lookup on the content of the host header. Of course, if a proxy behaved like that, it would be easy to force a transparent cache to store the wrong page for a particular url, by sending a request to the ip address of microsoft.com, with a host header of slashdot.org, for instance. A simple reverse lookup verification would work, so long as the action in the case of a failed lookup is to assume correctness, rather than failure. That would force all websites that cared to be set up with reverse dns correctly.

    not that I am encouraging the use of such a technology, even if I did write one of them.

  92. Hah! by shepd · · Score: 1

    You think that's bad?

    I got an (approximately) 6 month suspension from the school's computer system because I used file manager! Yes, you know, the old explorer utility for windows 3.1... This was at EDSS in the WRDSB nee WCBE. There, as far back as 1996 they were filtering virtually everything. Even sites like Nintendo.com were filtered making one of the only fun ways to do an essay (on something you're interested in) boring. Funny enough, there were hints that they were going to filter FTP because it was "too much of a risk".

    Fortunately my parents weren't broke, so between a small amount of my paper route and a lot of their help I was able to get a laptop.

    I learned something from that experience, though. My kids will get their own laptops, and I will _refuse_ to allow them to use the school's computer systems. I'll even try it on as religious grounds if the school says they have to use theirs (maybe I can say I'm Amish? :-) Well, that's only if I choose not to homeschool 'em (why not? The only thing I experienced in school was learning to be a social idiot! Probably a lesson best not learned.)

    --
    If you could be told what you can see or read, then it follows that you could be told what to say or think - BoC
  93. If you had some spare time by sproket · · Score: 1

    You could write a proxy (and optionally make it transparent) of your own that replaced the page name in HTTP requests with the text version of the IP address you were sending to. It's not a very elegant solution; going through two proxies to achieve the effect of going through none, but at least it would work. Alternatively, you could do what I would do in your situation, piss and moan to my ISP until they fixed it.

  94. There's only one answer by ahde · · Score: 2

    It isn't tunnelling or port forwarding or anything technical. This just wastes more bandwidth or cpu cycles.

    Call your ISP, tell them that you want internet access, and explain what their proxy is preventing you from doing. Ask them how much it would cost for the service. If they are unwilling to supply the requested service, or charge to much for it, cancel your service and use another provider. Be sure to tell them why you changed.

    Alot of small local ISPs were started because users wanted more features than AOL or the other providers. This is America, if you build a better product, customers will beat a path to your door to pay for it...until it is outlawed or you are put out of business by illegal (or recently legalized) tactics by the competition.

  95. My problem... by Anonymous Coward · · Score: 0

    I've been getting Unable to acces webpages/DNS not found errors that appear to be due to Comcast. I keep hitting Refresh in the browser, and releasing and renewing the address assigned me.

  96. Get used to it: I have setup many of these. by ebrandsberg · · Score: 1

    This issue is manyfold. The reason the ISP is doing this is to improve the cache effeciency of many websites. If you resolve www.cnn.com, you will receive many answers back. If the proxy simply used the IP as a determiniation of what is 'unique' then it will end up copying each item from each IP, reducing the total effeciency of the cache. Instead, it will simply take the domain in either the request header, OR will make use of the host header, and then use that for further content retrieval. This in fact is fair. The issue that is being mentioned is when there is an alternate root server that you are attempting to retrieve content from. In this case, the ISP is broken (sorta) by not honoring the host names from this alternate DNS. There are several ways to solve this:

    1) Get the ISP to use the Alternate root nameserver, allowing them to resolve the content (unlikely)
    2) Attempt to contact the server without using a host header. In cases like this, the proxy will probably default to using the original source IP address that the connection contained in the first place, in order to handle programs that use port 80 for data retrieval but don't support host headers
    3) Make use of an external proxy that doesn't do this interpretation (you probably won't find one)
    4) Try to create a little proxy of some sort that you use that translates the host headers into an encoded format. This may get around the ISP's proxy, allowing you to use any DNS you want.
    5) Suggest your ISP make use of a content aware redirecter that ensures that only the standard domains are sent to the proxy, such as .com, .edu, .org, etc. This will allow the redirector to forward (without the proxy intervening) the request to the proper location, and the problem goes away. This actually would be very easy to do with a product such as the NetScaler RS6000 series boxes. Side advantages is that they can forward non-cacheable content directly, reducing the load on the proxies.
    Transparent proxies are springing up everywhere, and you really can't avoid them much anymore. The issue you mentioned is actually new to me, but I can see where the problem can come in.

  97. Re:ISPs required by law to block port 80 in Singap by SomeoneYouDontKnow · · Score: 2

    Yes, I've been told that Singaporeans are very "rules-oriented", but my understanding of the situation was that not only porn was subject to censorship, but also any political sites that the PAP sees as threatening its hold on power. Not to mention the other rules, such as required registration of locally-hosted political Web sites, which I'd imagine is a way to keep them offline. I can't imagine that everyone is happy with the situation, especially those who would like to stand in elections and change the government. Standing up and protesting for the right to see porn is one thing (although I'd say that what one does in one's home is their business, as long as no one else gets hurt), but stopping political speech is another thing entirely. And FWIW, at an ISP I worked at, we did get protests about filtering of porn sites. We didn't actually filter anything, but some users had filtering software on their computers without their knowledge (don't ask--they weren't the sharpest tools in the shed), and they were very clear in that they didn't want us interfereing with what they looked at. I also worked at an ISP that offered both unfiltered and filtered access, which I thought was the best solution. Whoever set up the account could tell us what kind of access they wanted, and only we could change it, so a user's kids couldn't figure out how to disable the filters. Well, I guess they could've used an outside proxy, but that wasn't our problem.

    But I'm not so much making a statement here as asking the question: What would happen if one person or a group of people stated publicly that they thought that these filters are unfair and that they should be taken down, that they thought the rationale for their implementation was wrong, and that they do not serve the interests of ordinary citizens?

    --
    That light you see at the end of the tunnel might be from an oncoming train.
  98. Re:Education-Phone bill. by Anonymous Coward · · Score: 0

    Desperate is right. The phone bill would eat him alive.

  99. You Need a Proxy by SkewlD00d · · Score: 2

    Yeah, I know, I used to use (in the PAST-TENSE) netcom/mindspring/earthlink, but know they have some ghey transparent web proxy cache that listens to EVERY port 80 request REGARDLESS of any actual webserver at any address. Doesn't this violate the DMCA? 1) They are "caching" (storing) other web-site's content thereby possibly violating copyright law. 2) You might have an old copy of the website. 3) It's slower if the page is not in their cache. 4) They can easily monitor what you are browsing and sell the info to advertisers. 5) They can change what you look at (Man-in-the-middle). Hmmm... maybe changing ISPs would be a better solution.

    --
    The biggest trick the devil pulled was letting lawyers become politicians so they can write the laws.
  100. I forgot the subject by Bill+Ashley · · Score: 0, Troll

    THIS IS JUST A BUNCH OF UNCONNECTED IDEAS THAT POPED UP WHILE ReADING THE LONG CHAIN OF POSTS FOR THIS THREADING two ideas for secure net. 1. sugar 2. secur lines "They hired a dozen level 1's and expect the level 3's to teach them how to use unix/etc/scripts. Its a fucking joke. You wonder why it takes forever to get tech support to fix something! The top tier of people staffed are mostly UNSKILLED... ..competent admins will soon become only slightly more respected than the guy who unclogs the toilet." uhm... I don't get why would you get a human to teach a human how to use a computer.. why not get a human to teach a computer how to teach a human how to use a computer.. there is something called training software and the manual... also you can form buisness rings.. well what buisness doesn't and pool that one training file made in corel every couple weeks by one persona instead of having 10 or 15 tecs to instruction.. those tecs can then work on infrastucture building etc... playing pingpong whatever... really also that proxies idea.. having a online buffer between you know proxy server instead of proxy port having it work as an airlock simple stuff... only one end can be active at one time an you would just have to cut of encoded datasnatches not that I would have the slightest clue how they work .. I'm sure you could set up a software virtual airlock too some type of drive read partition partition wouldn't be difficult for all the smart people to make. or even two systems running on the same hardware one is virtual one is less virtual.. works in my mind. I already solved all the net hacking issues unfortunately I think people like it to be insecure... sorta. What I'm wondering is how the hell does everyone one know my join4free password?? for me when my connection doesnt work right I go through this checklist 1. shut down all viruses 2. disconnect and reconnect if it still doesn't really connect 3, decide how bad I want to use the net and if I really do restart other wise wait 4. if I still cant connect go through check list 4 times minus step 4+ 5. check various lines and hardware make sure I have connectivity with it 6. call my provider 7. problem get fixed other wise I add messed up interconnection to my list of things to get ultimate revenge for... uhm I mean just forget and take up water polo. Like isn't this thing suppose to hold up to nuclear winter and stuff I think the system should be able to handle a bunch of kids with windows xp :)a joke ahh(don't mind me its been a while)... What about an external modem connected to a cell phone and a oh nevermind.... (since @Home is dead). huh? "My very lame ISP, AT&T Broadband, blocks my incoming port 80. What can I do to get around this? Thanks!" couldn't you just change your http:port? to port 81? or maybe there is a computer out there that acts a a genie type thingy you know like ask jeeves but nothing like it you know a server with software running that gets the files for you throught another protocol and sends them through another port theres a name for it I just cna't think of it right now anyway I think that the dutch should have atleast one.. .I think they have one of everything...... if people only listened hopefully they make a MAINN (multiuser artificial intellegence nueral network) for telephony response already its not like voice to text and text if processing doesn't exist... there's plently of motivated smart poeple out there what gives. "RIAA and MPAA people most likely have no idea how to get there, if they even know it exists. Do you?" .. sure use sugar its all run by the riaa anyway isn't it since it is them that cause the underground trading.. just like the justice system makes murderers... but really what you do is trade a mp3 with someone who wants a mp3... hard concept eh? piracy doesn't make sense when there is more free music out there than people can listen to in a lifetime. It's funny you keep the artist that charge you for their music in buisness but people got to eat. It's gets messed up when you either know or are the people that are effected by piracy.. once again why capitalism sucks!!! bigtime .. one it creates lots of senseless laws.. oh I'll get off topic so I'll just stop there. hold on I can't be biased. nevermind I'm always going to be bi-as-ed. "roughly $.10 to $1.25 MB depending on the number of staff and quality of equipment. One user downloading several GB a month can really hurt" had no idea the cost I thought it was much less... hmm seems expensive for a ray of light. don't they have fish systems yet.. oh two. "....never even heard of a real ISP that supported OpenNIC zones." I don't like the name "OpenNIC" I'm trying to quit smoking and everytime there is any reference to damn...double damn(after reading buffy post) great anyway everything will be mine one day anyway so what people build can only help me lead a happier life final judgment and understanding will reveal all. now I just wish everyone else thought this too. this might be off topic too if a company is rich does that mean it is overcharging its customers? I'm still wondering when people found out my join4free password "You have effectively DOS'd the server, and the ISP has every right to consider your actions hostile" they have rights to consider my actions hostile when I connect but in reality they shoudn't be worrying until the icbms from central tiawan are headed for their nodes. its not like they can't build the technologies right into the modems without a need for a server by isp or anything... all it would be is a latis of factory assigned serials each modem using .. oooh thats too naughty nevermind.,, wow I'm impressed I just reinvented the internet in my mind to make it even better .. I still think non represented police state of all people as police as the way to go. anyway

    --
    hmm sooner
  101. Principles set aside. by U6H! · · Score: 1

    If you just want it to work, and you don't want to switch ISPs right away, don't mess around with circumventing the damn thing. Just badger your ISP into adding the alternate root servers to the hints file on his DNS servers. This will give you a short term fix while you shop for a new ISP. Failing that, stop paying him and sighn his abuse, hostmaster, help@, etc. lists up for some free pr0n.

    Incidentaly, I would like to hope this sort of thing is rare. Does anyone have any stats on how often this is done?

  102. How to tell if your ISP uses a transapent proxy by Anonymous Coward · · Score: 0

    Get a webserver to tell you what it thinks is your IP, try www.whatismyipaddress.com
    if it sees your ip as something different from your real external IP then your ISP is employing some sort of proxy.

    You can find your ip by running WINIPCFG on win95/98/Me or ipconfig in /NT/2k/XP or ifconfig on unix/linux

  103. It's working correctly by davew · · Score: 3, Informative

    I see what you mean. You are sending traffic to a particular address based on your own DNS resolution, and if the traffic is proxied, you want it to be sent to your chosen destination, not that of the proxy.

    In my opinion, the ISP is exhibiting correct behaviour.

    Picture this: the object of the exercise with the transparent proxy is to cache pages and increase speed for the customer, right? I think it's already been agreed earlier in the thread that this is not entirely evil.

    Let's say the proxy honours the destination IP address that you chose (I'm not sure how this would work in practice, but I'll go with it for now). It returns the web page from the server that your DNS picked, and caches it for the next guy.

    Another customer requests a page with the same name. What if they're using a DNS root where the answer conflicts with yours? The customer gets the "wrong" web page. Because cached objects eventually expire, this means that the customer might get a completely different site dependent only on the time and date they happened request it.

    The ISP doesn't use the same DNS root you do, so they can't begin to troubleshoot the problem.

    I concede that the popular "alternate" DNS roots have few enough conflicts with the IANA-assigned roots at the minute, but even that is an irrelevancy - any solution that allows a customer to choose destination IP address on behalf of other customers opens up the ISP to a denial of service attack by a user less trustworthy than you or I. One could set up an arbitrary "root" server that resolves www.yahoo.com to my own site. Or google. Or some site that accepts credit card orders.

    I can't see any scalable way out of this without the ISP picking one root, and sticking with it. If that is so, then I think this is a fundamental problem with split roots and, if you really want to use them, be fully aware of what you're getting yourself into. Turning off the transparent proxy will help this time, but you won't be able to rely on being able to talk to any server on the internet that doesn't use the same root as yours, even the servers you don't (usually) need to know exist.

    Regards,
    Dave

    1. Re:It's working correctly by Todd+Knarr · · Score: 2

      Actually the ISP is broken. The customer opens a connection to IP address A.B.C.D, but the ISP is delivering a connection to IP address M.N.O.P instead. It shouldn't matter which DNS roots the user is using, or whether they're using DNS for that matter (I access some of my company's servers using /etc/hosts entries because their specific names aren't in DNS, for example). The ISP should be looking at the destination address in the IP packets and nothing else when doing a transparent proxy. If it does that then it behaves correctly for all customers no matter what they're using for name resolution. If it doesn't, then it breaks completely legal setups. The ISP is broken.

    2. Re:It's working correctly by MikeBabcock · · Score: 2

      For the sake of lengthening this thread a little, I'll agree. The poster you replied to is ignoring that the proxying and thus the speed advantages (and bandwidth savings on the part of the ISP) can still exist if the ISP honours the IP decisions made by the customer.

      Has anyone looked at common proxy software such as Squid to see what the right and wrong configurations would be and posted them? (hint)

      --
      - Michael T. Babcock (Yes, I blog)
    3. Re:It's working correctly by davew · · Score: 2

      But if you look at the IP address and nothing else, you can't uniquely identify the data coming back in order to cache it. Even if the packet is sent to the IP address you specified, the proxy must identify the HTTP query in order to store or pull the appropriate document from the cache. After all, a single IP address can serve multiple pages, never mind multiple virtual servers :-)

      I guess you could rewrite the cache to store pages based on a [http request,ip address] pair, but that's going to cause, at best, a performance hit when dealing with any large multiple-IP site (the very kind of sites we want to cache; don't even start about Dynamic DNS), and is a substantial change to the behaviour of a HTTP proxy.

      That's a lot of effort to put in in order to get a performance hit. I submit that the correct way to solve this problem is for the industry to agree on a common DNS root.

      Dave

    4. Re:It's working correctly by Todd+Knarr · · Score: 2

      For cache checking, yes you'll need to check URI in the request, Host header if present and other things along with the original destination IP address. Any cache should tag the cached data with the IP address of the server as well, since it's not guaranteed that two servers with the same name will return the same data if they've different IP addresses (in fact under round-robin DNS it's possible for two servers to be required to return different information).

      I was speaking, though, of how the cache determines which server to talk to when it needs to talk to the destination server. At that point a transparent proxy should only connect to the actual IP address used by the client. Anything else leads to legal configurations which the proxy will break.

    5. Re:It's working correctly by derobert · · Score: 1

      There is a very easy way to do this: The proxy knows (or should know) four pieces of data:

      1) The destination IP address
      2) The destination hostname
      3) The destination path
      4) The request type

      From there, it's pretty easy to get it right, even in the face of malice. First, the proxy checks how it handles that request type: Cache GET, pass-through POST, pass-through everything else (probably). Next, it uses the set:
      {dest. IP addr, dest hostname, dest path,
      request type}
      to determine if the object is cached. If so, it returns the cached copy. Otherwise, it grabs a copy from the destination IP address and follows normal caching procedure (check Expires, Cache-control, ETag, etc.)

      The _only_ changes here are that the IP address is part of the object identifier and that no name lookups are done. Not doing name lookups even saves CPU power! OTOH, you lose some cache efficiency to sites with multiple IP addresses. But not much.

  104. Isn't this what's happening instead? by efti · · Score: 1

    I have tried the above method with my ISP because I know that they use a transparent proxy (Squid). By telnetting to www.google.com 80, not only did I get redirected to /. by typing

    GET http://slashdot.org/ HTTP/1.0

    but by typing:

    GET / HTTP/1.0<br>
    Host: slashdot.org

    However if I omitted the 'Host' header and simply typed 'GET / HTTP/1.0' I was taken to Google.

    The proxy should perform it's own lookup in the first example but not in the second. Isn't this what's causing the problem?

    --
    I signed up for a /. account and all I got was this crappy sig
  105. Not the only one.. by ruvreve · · Score: 1

    Purdue University does the same thing. They implemented a web cache server which was greatly underpowered. So when 6000 people attempted to go to www.yahoo.com the server crashed and IE faithfully put up numerous '404' errors for people. Anyways...don't feel like you are alone in this attempt by ISPs to reduce the amount of bandwidth they use.

  106. Caching isn't done that way... by Svartalf · · Score: 2

    It's usually cached by way of using an MD5 hash of the URL requested as an index in most caching servers (I know, I USED to work with a CDN that used several different tricks and we checked out loads of caching engines shortly before they shut it down, looking for an alternative to Squid). If you use the resolved IP address to place the request and use the HTTP header info only for caching index, you won't get a poisoned cache as you described it because IP address that you got the content from doesn't matter, only the request URL that got you there does.

    Now, as to why the "transparent" caches don't work like they should... Anyone that knows something of how they're set up would be able to tell you that there is no easy way to achieve the functionality to get the "correct" way with the typical setup. The typical setup usually involves router tricks to NAT the request such that it looks like a seperate caching server is the webserver for your request and then the caching server places the request accordingly.

    Unfortunately, with dynamic content out there, a LOT of pages can't be directly cached (and there's nothing to make them so unless you do like epicRealm attempted to do with a CDN or what they and others are attempting to sell right now with an "app accelerator"- there's no current good protocol to tip the cache off that the content is stale so the content providers flag it as uncacheable...) so a "transparent" proxy is of some limited usefulness- unless you've got more than a couple of people placing requests for the same cacheable content, it inserts this big, fat latency and breaks a lot of things (like the subject of this /. discussion) in the process.

    Unless it's truely transparent, being part of the router itself, it's probably more of a nuisance than a help, no matter what the ISP says to the contrary. I'd be finding a new ISP because they're being a little more than clueless.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
    1. Re:Caching isn't done that way... by Skapare · · Score: 2
      The typical setup usually involves router tricks to NAT the request such that it looks like a seperate caching server is the webserver for your request...

      If what you are describing is that the origin server IP address that the client browser was connecting to is lost by the time the caching proxy handles the request, then of course this is a problematic setup. This could be a big problem for HTTP/1.0 requests without the "Host" header, as at that point there is no way to figure out what the origin server is at all. Perhaps a caching proxy implementation will "cop out" and not support HTTP/1.0 at all. While I have not confirmed this, I do understand the Cisco WCCP protocol to intercept web requests and hand them off to a nearby cache server does include the IP address of the origin server. If this is so, and your network infrastructure is Cisco based, it might be prudent to use it, and demand that a cache vendor fully support it. I've seen it in squid, but I don't use it. I do have cache servers, but they are not doing intercepts. OTOH, they do use a DNS server with ORSC TLDs loaded into a local root zone file so I got to www.dev.null just fine even with the cache server being used.

      --
      now we need to go OSS in diesel cars
  107. To the best of my knowlege... by Svartalf · · Score: 2

    ...most of the "transparent" proxies for HTTP tend to be router NAT hacks for a seperate caching server that is set up as a typical caching proxy. Since it's really a typical proxy with router tricks, it's operating in the usual proxy mode which then expects the proxy to do all DNS, etc. for the request, not the client.

    It would be really contorted to achieve the "right" way, so nobody's bothered to come up with a caching engine that worked in the manner needed to do it truely transparently (Sitting on the router, etc.)

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
  108. But they're NOT saving a lot... by Svartalf · · Score: 2

    Unless they're a large ISP, the only thing the cache is going to buy them a benefit on places that everyone hits that has static content because typically, most caches don't work well with the HTTP 1.1 cache hinting and it's difficult to set up for the HTTP 1.1 cache hinting so they usually send the dynamic content with pragma: no-cache in the headers and set the expires value to expire it immediately from the cache as stale. A cache is a web decellerator and buys NOTHING in the way bandwidth savings like most people think it does.

    Amazon, Yahoo, et al. all set pragma: no-cache in the headers for a return request.

    And you didn't pay attention, no less: His problem is he's using a different root DNS server than the so-called transparent proxy. Because of this, his browser will resolve and place requests correctly, but because the router is set up to NAT those requests and flip them to the caching proxy server, the request is then re-resolved for a DNS entry, etc. If they're not using the same DNS root, the whole thing breaks down.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
    1. Re:But they're NOT saving a lot... by icezip · · Score: 1

      I agree. I work for an ISP that was investigating implimenting this method, and reported to my superiors that it wouldn't be worth the hardware to impliment it.

      I personally think that this whole bogus TLD stuff is a bad idea, and would have had absoltuely no regard for blocking access to these 'sites' if I had implimented the system.

      As far as operation, I'm not sure how most ISPs impliment this type of system, but I was planning to use a Layer 3 switch, and pass all port 80 outgoing requests to a SQUID server set in transparent mode. This server pretends that its the remote server, and replies with a spoofed IP to the client. The client actually does resolve the remote host, and operates just like it was connecting directy to it. As with most Layer 3 switches, you can set ignores based on source port, dest IP and whatnot. With SQUID, you can also configure it to ignore (or pass out to the internet without any processing) certain site names (aka *.MP3) that would allow these services to work, as well as allow use of programs that use port 80 for other things.

      If your ISP has a technician that knows what they are doing, you would'nt even notice you were behind a transparent proxy.

      --Dave

  109. Usually, you can end-run around that problem... by Svartalf · · Score: 2

    The host server can flag content as non-cacheable and the cache, if it's properly HTTP 1.0 or 1.1 compliant will merely relay the page to the requestor without caching it.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
  110. Actually, most proxies are "broken" this way... by Svartalf · · Score: 2

    Most proxies blindly resolve requests on behalf of the requestor because it's not really designed to be a "transparent" proxy- it's a router hack that makes it purportedly transparent. They are designed with the HTTP 1.0 or 1.1 proxy server specification from their respective RFC documents. Because of this, there is a relationship that is specified (i.e. the client browser places all HTTP requests to the cache, which then places the request as if it were the client browser. The client browser doesn't do DNS, etc. in this mode of operation) that is not present and is not assumed to be there with the un-proxied mode of operation.

    This IS non-compliant with the RFC- it just "works" when you're using the same DNS server.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
  111. Won't work... by Svartalf · · Score: 2

    IPSEC relies on unencrypted headers to work. This "transparent" proxy is a router hack that re-routes port 80 traffic for everything except the proxy server to the same. IPSEC would get flipped to the proxy and break down since it's not in the IPSEC session.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
  112. Webcaching effecitve? Depends! by Svartalf · · Score: 2

    If your client browsers are hitting static content sites, then YES, it's VERY effective. If your client browsers are hitting dynamic content sites, it's nowhere near as effective because the playground there is evil and broken. There's not a lot of fully HTTP 1.1 compliant caches out there (a requirement for a server to hint at expiry- needed for dynamic content...) and it's purely evil to set up the hinting for caches to work as intended- so nearly every dynamic content site out there (And that's the majority of the sites the average populace hits) set pragma: no-cache on the headers as well as setting an immediate expire time on the content. Dynamic content sites with average caching engines actually cause a degredation in browsing experience for the users as the caching engine never caches the dynamic content.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
  113. That's because the router's not proxying... by Svartalf · · Score: 2

    It's a squid or similar server that is distinctly seperate from the router itself (A router COULD transparently proxy by being an interception proxy- but that's a lot more complicated and I don't think there's a lot of them about because they tend to be more expensive for some reason...).

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
  114. Even configured correctly... by Svartalf · · Score: 2

    If the content is largely dynamic in nature, it won't get cached as the content providers tend to set pragma: no-cache on the headers and set the expires time in the past to force expiry to ensure fresh content. In the case of a LOT of stuff from Yahoo, Amazon, etc. you're going to find that a couple of pictures may cache, but the rest of the site will not be there for that reason.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
  115. Depends on content... by Svartalf · · Score: 2

    Largely speaking, dynamic content (i.e. app-server driven websites, like /., Amazon, etc.) don't get cached in servers because there's no clean, easy way to hint expiry as the content goes stale at unpredictable times. Because of this, these content providers tend to set pragma: no-cache in the header and set the expiry time to something in the past to force expiry from the cache as soon as it's served to the requesting client browser.

    If you have your browsers all hitting static sites and content, it works very well. It's not so hot to miserable as they hit more dynamic content sites because of what I pointed about above.

    --
    I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
  116. Breaking the Cache by Alethes · · Score: 1

    My former ISP cached on specific URLs. So, the most popular exact URLs were the ones being updated the most often, and those that didn't get much traffic usually lagged by up to two weeks in updates. The way I found to get around this was by tagging on a query string to whatever URL I was trying to access.

    Something like http://www.slashdot.org/?123 or http://slashdot.org/article.pl?sid=02/03/22/194823 6&mode=thread&tid=95&123 would easily break the cache, and I could guarantee that I was seeing the most up-to-date information. I always thought it'd be nice to have this type of URL re-writing feature incorporated into a Squid. This is obviously only a short term solution. I wouldn't want to have to modify URLs for the rest of my life.

  117. Yeah, right. by twitter · · Score: 2
    My college [purdue.edu] has a similar set up because it saves an incredible amount of bandwidth. It's not to be mean, or malicious, or spy on your browsing habits, it's just to save bandwidth.

    So, if it just happens to allow mean, malicious, spying or filtering, "transparently" so that you can't get around it, THAT'S OK? Nope.

    I don't care how easy it is to get around, it sucks. You could save even more bandwith by blocking debian mirrors, red hat's ftp sites and all manner of stuff that only affects a few of your users. No problem eh? Think of how much faster all the comercial crap will load up for all your "consumers". No thanks.

    --

    Friends don't help friends install M$ junk.

  118. This can save LOTS of bandwidth by BakaMark · · Score: 1
    My college has a similar set up because it saves an incredible amount of bandwidth. It's not to be mean, or malicious, or spy on your browsing habits, it's just to save bandwidth. And it does (I wish I had numbers to back this up, but I don't run the proxy).

    I used to run a proxy server for a major company in Australia, with approx 3,000 users on one system and 1,500 on another.

    The 3000 user system were the Administrative departments, of a client, and the 1500 were the outsourcing organisation (the primary reason for the split).

    Each system had approx 25Gb of cache storage, and both systems used user authentication. The purpose of authentication was necessary so that Individual Internet access could be revoked by managers, and the system was configured so that the passwords expired every month.

    Also both systems were using proxy log scanning mechanisms, with information being reported back to the managers. However this was not reliable in picking up people who were visiting places where they should not, and the policing fell back on the managers.

    However the system did provide some wonderful information about how well the proxy cache was being hit. For the Administrative department of 3000 users, the Cache systems only needed to completely download new 'objects' 50% of the time. This was calculated as a 25% bandwidth saving, after through investigation. This was not bad for a service that was consuming about 20Gb of downloaded data a month with the caching turned on. This was despite the large amount of dynamic content that existed at the time.

    The 1500 techs were not getting as good figures, more like 25% hit rate, and 12.5% data saved. This was despite the size of the cache storage being the same, and the number of users being less.

  119. Re:Use netcat... or your own proxy server... by derobert · · Score: 1

    No. ISP 'transparent' proxying works by a router notcing requests on a given port and silently redirecting to a proxy server.

    The router will see port 80. It will redirect to the proxy. The proxy will do who-knows-what when confronted with an invalid URL. Hopefully, passthrough. Maybe. Maybe not.

    [ BTW: You can do all this with iptables under Linux. Read the manpage. Try it out. Then you'll understand it. ]

  120. The behavior is NOT correct. by TheLink · · Score: 2

    Nonono. I've encountered this before myself (I was trying to use some other site's cookie on my site (don't ask ;) )- it works without the broken cache in between.).

    The broken cache does this:

    Intercept packets with destination IP address 1.2.3.4 and port 80.

    Looks inside packet.
    Sees
    GET /
    Host: www.google.com
    (other headers snipped)

    It then IGNORES the 1.2.3.4 address, looks up www.google.com for itself (if DNS not cached yet).

    Say it is successful and finds 216.239.51.100.

    So it connects to 216.239.51.100 port 80 and says
    GET /
    host: www.google.com

    ---
    Now if it isn't successful with the dns lookup, you're screwed - it either gives you an error page or disconnects you - no message.

    I believe the correct thing for the cache to do is to use the 1.2.3.4 address both in the cache index and in the outbound connection.

    Now the issue with using the IP address in caching is that many sites have multiple IP addresses for the same address and the cache will have to treat them as different sites. This means you need more resources on the cache and performance is lower. So I figure the cache manufacturers figured that performance over correct behaviour was an acceptable tradeoff.

    After all they can argue with their customers that the correct behaviour for a transparent proxy cache used to lower bandwidth usage is to lower the bandwidth usage even if it breaks rare situations like this.

    Cheerio,
    Link.

    --
  121. Then you have never ordered a Pizza in Austin TX by Displaced+Cajun · · Score: 1

    Cause thats what they do. 1 phone number for the entire city, and based on your caller id information, your call is routed to the nearest Pizza Hut.

    It's a cool setup, memorize 1 number for the entire city, and no matter where you are, make the call and you get the right place of business.

    --
    Executive ability is deciding quickly and getting someone else to do the work. --John G. Pollard
  122. what layer is HTTP? by smartfart · · Score: 1
    I thought that it broke down like this (ok, the stack is inverted 'cuz I can't do inverted html lists):
    1. Physical == bits on the wire
    2. Data Link == MAC IDs, etc.
    3. Network == IP
    4. Transport == TCP
    5. Session == netscape/apache
    6. Presentation == HTTP
    7. Application == HTML