IOS DNS local-cache for IPv6 ?

Hi there,
I have a humble question on whether it's possible for IOS DNS server to sniff and store mDNS (or other way) speaking hosts in order to track SLAAC-ed endpoint IPv6 addresses and their hostnames for comfortable connectivity using FQDNs among IPv6 hosts on different L3 subnets?  Based on what I've reserched on CCO the chance is almost none..
I'm preparing CPE design for IPv6 rollout and this would be fine feature to offer with small sized deployments without having to run some central DNS server taking care of this (will be considered, optionally).
Thanks for your response.
Regards
Peter Gasparovic

Hi,
I'm sorry but we need to keep Cisco CPE line at this moment :-)
Well, I spent these 3 days in tough condition trying to make IOS DNS server what it's not :-)) A DDNS-capable one. I simply can't understand why such "easy" and rather useful thing compared to milions in IOS code is not supported. From my experiments in IPv4 yet, I can't get DNS server to respond to SOA query as would be needed per RFC 2136 and highlighted by this WinXP doc, which I have referred to :
http://technet.microsoft.com/en-us/library/cc784052%28v=ws.10%29.aspx
Another quick link almost touching it...
http://blog.ipspace.net/2006/09/use-your-cisco-router-as-primary-dns.html
So, I leave this for whoever might find this issue in coming weeks or months - to help save his time. With very little hope, that someone from related BU could think of it and put it on roadmap. Perhaps.. one day
Bye.

Similar Messages

  • Java Local Cache Outperformed C++ Local Cache in 3.6.1

    Currently I'm using same local cache configuration to publish 10000 record of a portable object and retrieve same item few times from both Java and c++ client with oracle coherence 3.6.1 version. I'm using linux x86 version for both java and c++.
    Results from Java : 3 Micro Seconds (best Case), 4-5 Micro Seconds (Average Case)
    Results from C++ : 7 Micro Seconds, 8-9 Mirco Seconds (Average Case)
    When we have local cache for both Java and C++ data retrival latency ideally should be same. But I was able to witness 4 Mirco Second lagging in c++. Is there any sort of c++ configuration which I can improve the perfromance to reach at least 4-5 Micro Seconds.
    My local cache configuration is as follows.
    <local-scheme>
    <scheme-name>local-example</scheme-name>
    </local-scheme>
    So in underneath coherence implementation it uses Safe HashMap as the default (As the documentation). Please let me know if i'm doing something wrong?

    Hi Dave,
    I have append my c++ sample code for reference.
    -------------- Main class -------------------
    #include "coherence/lang.ns"
    #include "coherence/net/CacheFactory.hpp"
    #include "coherence/net/NamedCache.hpp"
    #include <ace/High_Res_Timer.h>
    #include <ace/Sched_Params.h>
    #include "Order.hpp"
    #include "Tokenizer.h"
    #include <iostream>
    #include <sstream>
    #include <string>
    #include <fstream>
    using namespace coherence::lang;
    using coherence::net::CacheFactory;
    using coherence::net::NamedCache;
    Order::View readOrder(String::View);
    void createCache(std::string, NamedCache::Handle&, std::string, std::string&, std::string, std::string);
    void readCache(NamedCache::Handle&, std::string, std::string&, std::string, std::string, std::string);
    static int globalOrderIndex = 1;
    int main(int argc, char** argv) {
    try {
    String::View vsCacheName;
    std::string input;
    std::ifstream infile;
    std::string comment = "#";
    infile.open("test-data.txt");
    size_t found;
    std::string result;
    while (!infile.eof()) {
    getline(infile, input);
    if (input.empty())
    continue;
    found = input.rfind(comment);
    if (found != std::string::npos)
    continue;
    Tokenizer str(input);
    std::vector<std::string> tokens = str.split();
    vsCacheName = tokens.at(0);
    NamedCache::Handle hCache = CacheFactory::getCache(vsCacheName);
    std::string itemCountList = tokens.at(1);
    std::string searchCount = tokens.at(2);
    std::string skipFirst = tokens.at(3);
    std::string searchValue = tokens.at(4);
    Tokenizer str1(itemCountList);
    str1.setDelimiter(",");
    std::vector<std::string> tokens1 = str1.split();
    for (int x = 0; x < tokens1.size(); x++) {
    std::string count = tokens1.at(x);
    std::string result;
    createCache(count, hCache, searchCount, result, vsCacheName, skipFirst);
    sleep(1);
    readCache(hCache, searchCount, result, skipFirst, count, searchValue);
    std::cout << result << std::endl;
    infile.close();
    } catch (const std::exception& e) {
    std::cerr << e.what() << std::endl;
    Order::View readOrder(String::View aotag) { 
    globalOrderIndex++;
    return Order::create(aotag);
    void createCache(std::string count, NamedCache::Handle& hCache, std::string searchIndex,
    std::string& result, std::string cacheName, std::string skipValue) {
    int totalRounds = atoi(count.c_str());
    int search = atoi(searchIndex.c_str());
    int skipFirstData = atoi(skipValue.c_str());
    bool skipFirst = skipFirstData == 1 ? true : false;
    int loop_count = skipFirstData == 1 ? search + 1 : search;
    if (totalRounds == 0)
    return;
    ACE_hrtime_t average(0);
    ACE_High_Res_Timer* tm = new ACE_High_Res_Timer();
    ACE_hrtime_t nstime(0);
    for (int x = 0; x <1; x++) {
    tm->start();
    for (int y = 0; y < totalRounds; y++) {
    std::stringstream out;
    out << globalOrderIndex;
    String::View aotag = out.str();
    Order::View order = readOrder(aotag);
    hCache->put(aotag, order);
    tm->stop();
    tm->elapsed_time(nstime);
    sleep(1);
    if (x > 0 || !skipFirst) // skipping first write because it is an odd result
    average += nstime;
    tm->reset();
    delete tm;
    double totalTimetoAdd = average / (1 * 1000);
    double averageOneItemAddTime = (average / (1 * totalRounds * 1000));
    std::stringstream out;
    out << totalTimetoAdd;
    std::string timeToAddAll = out.str();
    std::stringstream out1;
    out1 << averageOneItemAddTime;
    std::string timetoAddOne = out1.str();
    result.append("------------- Test ");
    result += cacheName;
    result += " with ";
    result += count;
    result += " -------------\n";
    result += "Time taken to publish data: ";
    result += (timeToAddAll);
    result += " us";
    result += "\n";
    result += "Time taken to publish one item: ";
    result += (timetoAddOne);
    result += " us\n";
    void readCache(NamedCache::Handle& hCache, std::string searchCount,
    std::string& result, std::string skipValue, std::string countVal, std::string searchValue) {
    int skipData = atoi(skipValue.c_str());
    bool skipFirst = skipData == 1 ? true : false;
    int count = atoi(countVal.c_str());
    String::View vsName = searchValue.c_str();
    ACE_hrtime_t average(0);
    int search = atoi(searchCount.c_str());
    int loop_count = skipData == 1 ? search + 1 : search;
    ACE_High_Res_Timer* tm = new ACE_High_Res_Timer();
    ACE_hrtime_t nstime(0);
    ACE_hrtime_t best_time(10000000);
    bool isSaturated = true;
    int saturatedValue = 0;
    for (int x = 0; x < loop_count; x++) {
    tm->start();
    Order::View vInfo = cast<Order::View>(hCache->get(vsName));
    tm->stop();
    tm->elapsed_time(nstime);
    if (x>0 || !skipFirst){
    average += nstime;
    if(nstime < best_time) {           
    best_time = nstime;
    if(isSaturated){
    saturatedValue = x+1;
    } else {
    isSaturated = false;
    std::cout << nstime << std::endl;
    vInfo = NULL;
    tm->reset();
    Order::View vInfo = cast<Order::View>(hCache->get(vsName));
    if(vInfo == NULL)
    std::cout << "No info available" << std::endl;
    // if(x%1000==0)
    // sleep(1);
    delete tm;
    double averageRead = (average / (search * 1000));
    double bestRead = ((best_time)/1000);
    std::stringstream out1;
    out1 << averageRead;
    std::string timeToRead = out1.str();
    std::stringstream out2;
    out2 << bestRead;
    std::stringstream out3;
    out3 << saturatedValue;
    result += "Average readtime: ";
    result += (timeToRead);
    result += " us, best time: ";
    result += (out2.str());
    result += " us, saturated index: ";
    result += (out3.str());
    result += " \n";
    ----------------- Order.hpp ---------------
    #ifndef ORDER_INFO_HPP
    #define ORDER_INFO_HPP
    #include "coherence/lang.ns"
    using namespace coherence::lang;
    class Order : public cloneable_spec<Order> {
    // ----- constructors ---------------------------------------------------
    friend class factory<Order>;
    public:
    virtual size_t hashCode() const {
    return size_t(&m_aotag);
    virtual void toStream(std::ostream& out) const {
    out << "Order("
    << "Aotag=" << getAotag()
    << ')';
    virtual bool equals(Object::View that) const {
    if (instanceof<Order::View > (that)) {
    Order::View vThat = cast<Order::View > (that);
    return Object::equals(getAotag(), vThat->getAotag())
    return false;
    protected:
    Order(String::View aotag) : m_aotag(self(), aotag) {}
    Order(const Order& that) : super(that), m_aotag(self(), that.m_aotag) {}
    // ----- accessors ------------------------------------------------------
    public:
    virtual String::View getAotag() const {
    return m_aotag;
    // ----- data members ---------------------------------------------------
    private:
    const MemberView<String> m_aotag;
    #endif // ORDER_INFO_HPP
    ----------- OrderSerializer.cpp -------------
    #include "coherence/lang.ns"
    #include "coherence/io/pof/PofReader.hpp"
    #include "coherence/io/pof/PofWriter.hpp"
    #include "coherence/io/pof/SystemPofContext.hpp"
    #include "coherence/io/pof/PofSerializer.hpp"
    #include "Order.hpp"
    using namespace coherence::lang;
    using coherence::io::pof::PofReader;
    using coherence::io::pof::PofWriter;
    using coherence::io::pof::PofSerializer;
    class OrderSerializer: public class_spec<OrderSerializer,extends<Object>,implements<PofSerializer> > {
    friend class factory<OrderSerializer>;
    protected:
    OrderSerializer(){
    public: // PofSerializer interface
    virtual void serialize(PofWriter::Handle hOut, Object::View v) const {
    Order::View order = cast<Order::View > (v);
    hOut->writeString(0, order->getAotag());
    hOut->writeRemainder(NULL);
    virtual Object::Holder deserialize(PofReader::Handle hIn) const {
    String::View aotag = hIn->readString(0);
    hIn->readRemainder();
    return Order::create(aotag);
    COH_REGISTER_POF_SERIALIZER(1001, TypedBarrenClass<Order>::create(), OrderSerializer::create());
    -----------------Tokenizer.h--------
    #ifndef TOKENIZER_H
    #define TOKENIZER_H
    #include <string>
    #include <vector>
    // default delimiter string (space, tab, newline, carriage return, form feed)
    const std::string DEFAULT_DELIMITER = " \t\v\n\r\f";
    class Tokenizer
    public:
    // ctor/dtor
    Tokenizer();
    Tokenizer(const std::string& str, const std::string& delimiter=DEFAULT_DELIMITER);
    ~Tokenizer();
    // set string and delimiter
    void set(const std::string& str, const std::string& delimiter=DEFAULT_DELIMITER);
    void setString(const std::string& str); // set source string only
    void setDelimiter(const std::string& delimiter); // set delimiter string only
    std::string next(); // return the next token, return "" if it ends
    std::vector<std::string> split(); // return array of tokens from current cursor
    protected:
    private:
    void skipDelimiter(); // ignore leading delimiters
    bool isDelimiter(char c); // check if the current char is delimiter
    std::string buffer; // input string
    std::string token; // output string
    std::string delimiter; // delimiter string
    std::string::const_iterator currPos; // string iterator pointing the current position
    #endif // TOKENIZER_H
    --------------- Tokenizer.cpp -------------
    #include "Tokenizer.h"
    Tokenizer::Tokenizer() : buffer(""), token(""), delimiter(DEFAULT_DELIMITER)
    currPos = buffer.begin();
    Tokenizer::Tokenizer(const std::string& str, const std::string& delimiter) : buffer(str), token(""), delimiter(delimiter)
    currPos = buffer.begin();
    Tokenizer::~Tokenizer()
    void Tokenizer::set(const std::string& str, const std::string& delimiter)
    this->buffer = str;
    this->delimiter = delimiter;
    this->currPos = buffer.begin();
    void Tokenizer::setString(const std::string& str)
    this->buffer = str;
    this->currPos = buffer.begin();
    void Tokenizer::setDelimiter(const std::string& delimiter)
    this->delimiter = delimiter;
    this->currPos = buffer.begin();
    std::string Tokenizer::next()
    if(buffer.size() <= 0) return ""; // skip if buffer is empty
    token.clear(); // reset token string
    this->skipDelimiter(); // skip leading delimiters
    // append each char to token string until it meets delimiter
    while(currPos != buffer.end() && !isDelimiter(*currPos))
    token += *currPos;
    ++currPos;
    return token;
    void Tokenizer::skipDelimiter()
    while(currPos != buffer.end() && isDelimiter(*currPos))
    ++currPos;
    bool Tokenizer::isDelimiter(char c)
    return (delimiter.find(c) != std::string::npos);
    std::vector<std::string> Tokenizer::split()
    std::vector<std::string> tokens;
    std::string token;
    while((token = this->next()) != "")
    tokens.push_back(token);
    return tokens;
    I'm really concerned about the performance. 1 Micro seconds is very much valuable for me. If you could reduce it to 5 micro seconds then it would be a great help for me. I'm building above code by following release arguments.
    "g++ -Wall -ansi -m32 -O3"
    Following file is my test script
    ------------ test-data.txt ---------------
    #cache type - data load - read attempts - skip first - read value
    local-orders 10000 5 1 1
    # dist-extend 1,100,10000 5 1 1
    # repl-extend 1,100,10000 5 1 1
    You can uncomment one by one and test different caches with different loads.
    Thanks for the reply
    sura
    Edited by: sura on 23-Jun-2011 18:49
    Edited by: sura on 23-Jun-2011 19:35
    Edited by: sura on 23-Jun-2011 19:53

  • Folder redirection with Offline files enabled - Can I change the location of the locally cached files?

    I have a 2012 r2 server setup with folder redirection and offline files enabled. All this works perfectly.
    As you probably know, the local cache for offline files is stored at c:\windows\csc\v2.0.6\namespace\servername\
    The problem I have run into is that one user (who cannot be told to delete files cough ceo cough) has a very large documents folder, and a small SSD drive for his C drive. So the offline files are filling up his SSD. He wants all his files to be synced,
    so decreasing the max disk usage is also not an option.
    What I would like to do is move the Offline files to his D drive which is a large drive, however I have been unable to find any official method for doing this. Is there any provision to change this?
    If not, would it work to move the entire \servername\ path to the d drive and then create a junction at c:\windows\csc\v2.0.6\namespace\servername\ that points to d:\servername\?
    Thanks,
    Travis

    Hi,
    The following article is for Windows Vista but it should work at least in Windows 7.
    How to change the location of the CSC folder by configuring the CacheLocation registry value in Windows Vista
    http://support.microsoft.com/kb/937475
    Meanwhile creating a symbolic link should also work like:
    mklink /d "C:\Windows\CSC" "D:\CSC"
    Note: It will create d:\csc folder so you do not need to manually create it. 
    Note 2: As mentioned above, you may need to re-sync the offline files. Personally I also think robocopy will not work. 
    Please remember to mark the replies as answers if they help and un-mark them if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • HT203071 How does the clients (iOS devices) to configure/use the caching server to download apps from local caching server instead of App store?

    Hi ... How does the clients (iOS devices) to configure/use the caching server to download apps from local caching server instead of App store?

    Hi,
    If you want to restore a reomoved app,you need to use
    Add-AppxPackage to add a signed app package (.appx) to a user account.
    But we cannot extract them from the ISO.
    The behavior is by design.And this is a software protection regime.
    Thanks for your understanding.
    Regards,
    Kelvin Xu
    TechNet Community Support

  • How to clear Local-Cache Entries for a Query in BW?

    Hi There,
    i`m student und i need please your help for my Thesis!!
    I execute the same Query many times in BEx Web Analyzer und note a Query Response Time under ST03N using each time a different READ Mode and Cache Mode is inactiv (Query Monitor RSRT).
    First time i exectue the Query, it reads also from database, second time it uses the local Cache and  that `s okay!
    My problem is:
    When i change the Read mode and execute the Query again, it uses for the first run also the old entries from the Cache so i get wrong response time for the first run!!
    I know that while the mode cache inactiv , the local cache will still be used, so how can i delete the local cache entries each
    time i change the read mode and execute the Query? In Cache monitor (rsrcache) i find only entries for Global cache etc..
    I've already tried to close the session and login in to the System again but it doesn`t solve the Problem!!
    i don't have a permission (access rights) to switch off the complete Cache (local and global ).
    Any idea please??
    Thanks und Best Regards,
    Rachidoo
    P.S: sorry for my bad english!! i have to refresh it soon:)

    Hi Praba,
    the entries stored in RSRCACHE are for global cache, there is no entry for my query in Cache monitor!
    i execute the query in RSRT using java web button and cache mode inactiv so, the results will be stored in local cache.
    this is as below what i want to do for my performance tests in my Thesis:
    1. run a query for the first time with cache inactiv and note runtime of it
    2. run the query again with cache inactiv and note runtime of it
    3. clear the local cache (i don't know how to do it??)
    4. change the read mode of query in RSRT then run the same query for the first time and note runtime of it
    5. run the query again and note runtime of it.
    i'm doing the same procedure for each Read mode.
    the problem is in step 4 , The olap Processor gets the old results form the cache so i get wrong runtime for my tests.
    Generate the report doesn't help, any idea please?

  • Why use link-local addressing for HSRP in IPv6?

    I have scoured the internet for an answer to this question, and am no closer to having it answered.  Am hoping someone here can help!
    * Why do we use link-local (or autoconfig) addresses for the standby IP in FHRPs?  If you are forwarding a packet towards a link-local destination address, wouldn't the source address then have to be a link-local address from the same prefix, which according to scope, should not route beyond the local link?  How do you route an IP packet that has a link-local address for a source address?
    Any insight would be much appreciated.
    Thank you in advance.

    Dougles,
    next hop is used for reaching "gateway" that know where to send packets farther (read it as "next hop to the destination")... routing in IPvX is hopping between nodes where every hop is closer to destination... This is theory behind.
    So as machine that needs to send packet to "not directly connected destination" you only need to send packet to gateway leading to this destination...
    so you need to send packet so, that "gateway" will recieve this packet and gateway then send this packet farther... it is not important what IP address this gateway has.
    On ethernet you only need to know MAC address of this gateway and you send packet (with your source IPv6 address and intended destination IPv6 address) encapsulated with "destination MAC address" of gateway. When gateway recieve ethernet frame, and this frame is for it (destination MAC address is its MAC address), the gateway will proceed IP header (inside IP header the gateway see IT is not final destination for this packet, and gateway will route this packet).
    So configuring IP address as next hop is just "hleper for simpler administration".. MAC address of gateway is important. In IPv4 address resolution protocol (ARP) is used to automaticly get MAC address of gateway if you configure next hop as IP address. In IPv6 there is neighbor discovery protocol(ND) used for this task.
    conclusion: you can use link local address as nex hop address for addresses from any scope ... next hop is just next hop, it is not used just for the same scope communication.
    And question is... if we need just information about MAC address of gateway, why to ask using global address?
    We need to get MAC address... that is information important just "locally"... so to ask for local information, why not use link local address ?
    HSRP is the same case... really just need MAC address to send packets correctly.

  • SG300 cant change the Link Local address for an IPv6 interface

    There seems to be no apparent way to change the Link Local address for an IPv6 interface
    If I create more than one interface they all appear to have the same Link Local address

    Never mind, I figured it out
    By adding a Link Local address to an interface, it overides the existing one on the interface

  • Setting iOS DNS for All WiFi Networks

    This article describes how to set the DNS for WiFi connections on iOS:
    http://techinch.com/blog/change-your-dns-settings-on-iphone-ipod-touch-and-ipad
    The problem is that it specifies DNS for an individual network
    connection, not for all connections.
    Does anyone know a way to change iOS DNS for all WiFi networks in one
    fell swoop?

    I have my ios devices DNS set via DHCP
    You'd have to move to an MDM solution if you want over the air, push profile configuration setting to the devices
    such as osx server Profie Manager. You may be able to do it with custom settings, I haven't tried it myself
    The basic wifi setting in OSX server PM only allow settings for wifi SSID password etc
    no DNS settings ip address etc. alternative MDM solutions may give you more options

  • RV320 "DNS Local Database" no function

    I did setup a brand new RV320 today. Firmware is v1.1.0.09.
    I am facing the following problem...
    I filled the "DNS local database" with names and IPs and expected that
    clients connected via DHCP will be able to use that names in the LAN
    instead of IPs. DNS server mode is set to "Use DNS Proxy".
    However, clients don't get the names resolved as expected.
    Any idea, what does go wrong?

    I found the same issue after setting up a local hostname in the DNS table in my RV320 (firmware v1.1.0.06) about a week ago but I don't think the explanation in your "reply" is correct. What I noticed at first is that I couldn't ping the host by name from my Windows PC, but it worked fine from my Android tablet or Linux PC. Experimenting a bit more yesterday, I ran Wireshark while pinging from my Windows PC and discovered that if I used a host name, but not a domain, the PC sent a couple of LLMNR packets (destination IP 224.0.0.252), to which it got no reply, then gave up. If I pinged an external site from Windows, e.g. www.google.co.uk, it issued a single DNS query, destination 192.168.0.1, got a response either from the RV320's proxy cache or the ISP's DNS, and carried on with echoes. If I add a domain extension to the local hostname in the name table, e.g my router's default domain, router44fda0.com, and ping hostname.router44fda0.com, the PC also issues a DNS query, and gets an instant (well, 0.864 millisecs) response from the RV320. I set up my target host with Bonjour (the avahi daemon), and pinging hostname.local from my Windows PC, found that it began with a double multicast DNS (mDNS) query (destination IP 224.0.0.251) asking for the same nodename on IPv4 (type A query) and on IPv6 (type AAAA query), to which my target Linux system responded with hostname.local and the IPv4address, but not the IPv6 address. To my surprise,125 millisecs after the PC  received the IPv4 address, it issued a DNS query to the router, which responded  "no such name" (the hostname was still set up with the router's default domain extension). Even stranger, the PC then issued two LLMNR queries with just the hostname, not the .local extension, to which it got no replies, and finally a second mDNS query, this time a single IPv6 (type AAAA) request for hostname.local, to which it also got no replies. So only the first mDNS query got a successful response. I presume that if had got a successful response from any of the other queries, they would have superceded the first response, i.e. it is saying if the DNS disagrees with the multicast DNS, the DNS is right, if LLMNR disagrees with mDNS and DNS, then LLMNR is right, and if it gets an IPv6 response to the mDNS query, that trumps everything!
    My point is that the RV320 does respond to a DNS request, even if it only has a host name in its table. The problem encountered above is that Windows does not issue a DNS request if you ask it to open a host name with no domain.
    BTW, I understand that the only reason my PC issues an mDNS query is that Apple install an mDNS extension when iTunes is installed. The mDNS query is only issued if the domain is .local 

  • IPv6 Test Case for LinkSys Routers - Based on Ubuntu + Radvd + DHCPv6 - E1200v2 isn't ready for IPv6

    Hello!
    Here on this guide, you'll learn how to deploy your own Linux IPv6 Router, that can be used in ANY network, to give IPv6 connectivity to ANY ethernet device, including Windows, Mac, Ubuntu Server and Desktop, RedHat and, of course, LinkSys routers like E1200v2 and E2500 for its WAN interfaces.
    I wrote this guide because I found a BUG on E1200v2, which doesn't work with IPv6 yet, already lost some money to figure this out.
    That's it, when you see a E1200v2 box at the store, you can read: "* IPv6 Enabled", but that is not entirely true, since it does not work as expected.
    Here on this post, it is a complete procedure to reproduce the problem.
    NOTE: The model E2500 v1 does not suffer from this problem!
    NOTE: This guide is very usefull if you have a LinkSys E2500 router and want to connect it directly into a Linux Router!
    Who am I?
    A.: I'm Thiago, I work in Brazil, for a company called iG (ig.com.br), I'm working here as a Network Engineer / SysAdmin and I have +10 years of experience with IPv4 networks + 5 years with IPv6.
    * Brief
    1- Install a Ubuntu 12.04.3, to act as your router, on a PC computer with two ethernet cards (eth0 will be Ubuntu's default route, eth1 will be used to connect LinkSys E1200v2);
    2- Prepare your Ubuntu Router (very important step, read it carefully)
    3- Connect E1200v2 directly into Ubuntu's eth1 ethernet card;
    4- Connect a Windows PC at E1200v2 LAN port 1 (used to configure your E1200 with Cisco Connect everytime a reset is desired);
    5- Reset (restore it from factory defaults) your E1200v2 router;
    6- Install Cisco Connect in your Windows PC (LAN port 1);
    7- Configure your E1200v2 as usual;
    8- Browse the Internet (still IPv4);
    9- Open Windows Command Prompt and type: ipconfig, ping, etc;
    10- Open Google Chrome or Firefox and go to your E1200v2 Web Admin Interface at http://192.168.1.1/
    11- Install a Ubuntu 12.04.3 Server connected at E1200v2 LAN port 2 to test IPv6 connectivity in deep, or;
    12- Boot a Ubuntu Desktop 13.04 Live CD connected at E1200v2 LAN port 3 to test IPv6 connectivity in deep;
    IMPORTANT NOTE:
    * This tests will require IPv4 connectivity to the Internet, since the IPv6 blocks used on this example, are blocks used only for documentation (or small tests) porpuses, which means that those IPv6 tests we're about to do, will not reach the Internet (in IPv6), neighter be routed out from your E1200v2. But it is enough to prove that E1200v2 drops its clients IPv6 connectivity. Feel free to replace those IPv6 address with your current / valid IPv6 blocks (if you have a IPv6 /48 block from your ISP, you know what I'm talking about).
    * Network Topology (Ubuntu Linux Router)
    IPv6:
    eth0
    2001:db8:0:1::/64 = uplink allocation
    2001:db8:0:1::1 = upstream router IP (Ubuntu's gateway IPv6)
    2001:db8:0:1::2 = customer configured IP (your WAN uplink interface to provider - Ubuntu's eth0 IPv6 address)
    eth1
    2001:db8:1::/48 = statically routed subnet pointing at 2001:db8:0:1::2 that come from you IPv6-ISP
    2001:db8:1::1 = your first IPv6 within your own infrastructure (Ubuntu's eth1 - E1200v2 directly connected here)
    eth1:0
    2001:db8:1:1::/64 = your first IPv6 /64 with Router Advertisement plus DHCPv6 running on Linux (radvd) (Ubuntu's eth1:0 - E1200v2 gets its WAN IPv6 address from this subnet)
    2001:db8:1:1::1 = IP of your first /64 subnet, Radvd + DHCPv6 running here, Ubuntu as IPv6 router
    IPv4:
    eth0
    192.168.10.0/24 = uplink allocation
    192.168.10.1 = upstream router IP (Ubuntu's gateway IPv4)
    192.168.10.2 = customer configured IP (your WAN uplink interface to provider - Ubuntu's eth0 IPv4 address)
    eth1
    192.168.20.1 = your E1200 will gets its WAN IPv4 address from this subnet - most common scenario for IPv4 wifi routers running inside enterprise environments today
    * Complete procedure
    1- Install a Ubuntu 12.04.3, to act as your router, on a PC computer with two ethernet cards
    Install the following packages in your Ubuntu Router:
    sudo apt-get install radvd isc-dhcp-server
    2- Prepare your Ubuntu Router (very important step, read it carefully)
    2.1- Ubuntu's file /etc/network/interfaces contents:
    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).
    # The loopback network interface
    auto lo
    iface lo inet loopback
    # The primary network interface
    auto eth0
    # IPv6
    iface eth0 inet6 static
       address 2001:db8:0:1::2
       netmask 64
       gateway 2001:db8:0:1::1
       # dns-* options are implemented by the resolvconf package, if installed
       dns-nameservers 2001:4860:4860::8888
       dns-search linksys.com
    # IPv4
    iface eth0 inet static
       address 192.168.10.2
       netmask 24
       gateway 192.168.10.1
       # dns-* options are implemented by the resolvconf package, if installed
       dns-nameservers 8.8.8.8 8.8.4.4
       dns-search linksys.com
    # The secondary network interface, E1200 LinkSys wifi-router is connected here (WAN port)
    auto eth1
    # IPv6
    iface eth1 inet6 static
       address 2001:db8:1::1
       netmask 48
    auto eth1:0
    iface eth1:0 inet6 manual
       up ip -6 address add 2001:db8:1:1::1/64 dev $IFACE
       down ip -6 address del 2001:db8:1:1::1/64 dev $IFACE
       # IPv6 /56 block routed to LinkSys E1200v2, it is delegated to it through Prefix Delegation using DHCPv6
       # Uncomment it later when your E1200v2 gets its own IPv6 Internet IP Address, keep reading this guide
       #up ip -6 route add 2001:db8:1:f00::/56 via 2001:db8:1:1::2000
    # IPv4
    iface eth1 inet static
       address 192.168.20.1
       netmask 24
    2.2- Configure Ubuntu /etc/sysctl.conf file
    Uncomment the following two lines on it:
    net.ipv4.ip_forward=1
    net.ipv6.conf.all.forwarding=1
    After writting, run "sudo sysctl -p" to apply the changes.
    2.3- Configuring Linux Router Advertisement daemon (radvd)
    Your Linux Router Advertisement daemon running on Ubuntu, must have the following content:
    # Ubuntu eth1
    interface eth1
        # Enable RA
        AdvSendAdvert on;
        # Enable clients getting their IPs from DHCPv6
        AdvManagedFlag on;
        AdvOtherConfigFlag on;
        # Enable RA to the following subnet
        prefix 2001:db8:1:1::/64
           AdvOnLink on;
           # When not allowing clients to auto-generate their IPv6 address (SLAAC), DHCPv6 will be used instead
           AdvAutonomous off;
    2.4- Configuring DHCPv6
    Your isc-dhcp-server6 configuration file (/etc/dhcp/dhcpd6.conf) for IPv6 must have the following content:
    ddns-update-style none;
    default-lease-time 600;
    max-lease-time 7200;
    authoritative;
    log-facility local7;
    # Ubuntu eth1
    # This is a very basic subnet declaration with Prefix Delegation enabled.
    subnet6 2001:db8:1:1::/64 {
            # Range for clients
            range6 2001:db8:1:1::2 2001:db8:1:1::2000;
            # Extra DHCP options
            option dhcp6.name-servers 2001:4860:4860::8888, 2001:4860:4860::8844;
            option dhcp6.domain-search "linksys.com";
            # The following line will delegate a subnet to LinkSys E1200v2,
            # using Prefix Delagation standards.
            # You'll be able to see this "Prefix Address" under "Status -> Local Network" E1200v2 menu.
            prefix6 2001:db8:1:100:: 2001:db8:1:f00:: /56;
    # No service will be given on this subnet, but declaring it helps the 
    # DHCP server to understand the network topology.
    # Ubuntu eth0 - no DHCPv6 running but doesn't hurt to declare it here
    subnet6 2001:db8:0:1::/64 {
    Reference: http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/hints-daemons-isc-dhcp.html
    2.5- Configuring DHCPv4
    Your isc-dhcp-server configuration file (/etc/dhcp/dhcpd.conf) for IPv4 must have the following content:
    ddns-update-style none;
    default-lease-time 600;
    max-lease-time 7200;
    authoritative;
    log-facility local7;
    # Ubuntu eth1
    # This is a very basic subnet declaration.
    subnet 192.168.20.0 netmask 255.255.255.0 {
       range 192.168.20.2 192.168.20.200;
       option routers 192.168.20.1;
       option domain-name "linksys.com";
       option domain-name-servers 8.8.8.8, 8.8.4.4;
    # No service will be given on this subnet, but declaring it helps the 
    # DHCP server to understand the network topology.
    # Ubuntu eth0 - no DHCPv4 running but doesn't hurt to declare it here
    subnet 192.168.10.0 netmask 255.255.255.0 {
    * Reboot your Ubuntu Router to apply all the changes
    After rebooting it, try to "ping 8.8.8.8" to make sure your Ubuntu Router have at least, IPv4 Internet connectivity.
    NOTE: From this point, you'll be able to start testing IPv6 from behind your Ubuntu Router (i.e. from its eth1), if you connect a Ubuntu Desktop, a Mac or a Windows on Ubuntu's eth1, it will provide IPv4 and IPv6 address to that devices, including your E1200v2 WAN port...
    3- Connect E1200v2 directly into Ubuntu's eth1 ethernet card;
    Plug a RJ45 cable between Ubuntu eth1 ethernet card and E1200v2 WAN port.
    4- Connect a Windows PC at E1200v2 LAN port 1
    This Windows computer will be used to (re)configure your E1200v2 with Cisco Connect everytime a reset is desired.
    5- Reset (restore it from factory defaults) your E1200v2 router;
    Press and hold the reset button for about 10 seconds.
    6- Install Cisco Connect in your Windows PC (LAN port 1);
    Boot(reboot) Windows and install Cisco Connect on it.
    7- Configure your E1200v2 as usual (by finishing Cisco Connect installation procedure);
    After concluding this step, your Windows PC will have both IPv4 and IPv6 address, that come from E1200v2.
    Windows gets its IPv4 from DHCP and IPv6 from SLAAC (main point of the problem), both provided by E1200v2.
    NOTE: From this point, you'll be able to see the problem with E1200v2 internal RA daemon, you'll lose your IPv6 connectivity that come from E1200v2. But, lets keep testing it...
    8- Browse the Internet (still IPv4);
    That's it, try to browse google.com from your Windows PC, if Ubuntu Router can "ping google.com", Windows PC should be able to do it so.
    9- Open Windows Command Prompt and type: ipconfig, ping, etc;
    Run "ipconfig" to see your IPv4 and IPv6 address...
    Run "ping 8.8.8.8" to see if you can reach the Internet...
    10- Open Google Chrome or Firefox and open your E1200v2 Web Admin Interface at http://192.168.1.1/
    Access your E1200v2 Web Admin and go to the "Status -> Router" menu.
    Write down its Internet IPv6 address, it will be something like this:
    IPv6 - Internet IP Address: 2001:db8:1:1::2000
    NOTE: You can get this address at the Ubuntu Router itself, by reading the file /var/log/syslog (`grep pool' might help), for example:
    # grep pool /var/log/syslog
    Sep 24 00:47:13 ubuntu-router-1 dhcpd: Picking pool address 2001:db8:1:1::2000
    Sep 24 00:47:13 ubuntu-router-1 dhcpd: Picking pool prefix 2001:db8:1:1::/56
    You'll see the above message on your Ubuntu Router, right after turning on your E1200v2. Pool address is the IPv6 Internet IP Address of your E1200v2's WAN port, pool prefix is the delegated subnet to your E1200v2 router. After thatn, it will start to advertiser that block on its LAN ports and WiFi (which doesn't work as expected, there is a problem there, whithin E1200v2 itself.
    11- Install a Ubuntu 12.04.3 Server connected at E1200v2 LAN port 2, to test IPv6 connectivity in deep;
    Here is the most important test:
    * Testing the IPv6 connectivity from E1200v2 LAN ports.
    This test is very simple, we just need to try ping E1200v2's IPv6 Internet IP Address.
    This Ubuntu Server will have the following content on its /etc/network/interfaces file:
    # This file describes the network interfaces available on your system
    # and how to activate them. For more information, see interfaces(5).
    # The loopback network interface
    auto lo
    iface lo inet loopback
    # The primary network interface
    auto eth0
    # IPv6 - SLAAC - No DHCPv6 client required - E1200v2 will kicks off this IPv6, and I don't know why...
    iface eth0 inet6 auto
    # IPv4 - Requires DHCPv4
    iface eth0 inet dhcp
    After this, your Ubuntu Server will be able to "ping 8.8.8.8" and "ping6 2001:db8:1:1::2000" (E1200v2 WAN IPv6 Address noted before).
    To prove that E1200v2 have a problem with IPv6, try to ping it, just run:
    mtr -n 2001:db8:1:1::2000
    ...And after a few minutes, Ubuntu Server will lose its IPv6 address, because E1200v2 is kicking it off.
    You'll be able to see a lots of package loss going on "mtr -n 2001:db8:1:1::2000".
    If you connect a Mac OSX on E1200v2 LAN por 3, for example, it will also lose its IPv6 from time to time.
    Wireless clients connected at E1200v2, like Android, iPad, Windows, Mac and Ubuntu laptops, also loses its IPv6 (that come from E1200v2) from time to time.
    You guys must note that the E1200v2 itself, ramdomly becomes unreacheable from its own LAN ports (via IPv6)!! Which is unnaceptable.
    12- Boot a Ubuntu Desktop 13.04 Live CD connected at E1200v2 LAN port 3 to test IPv6 connectivity in deep;
    Boot a Ubuntu Desktop connected at your LinkSys E1200v2 router, and open 2 Terminals, on each of it, you should run:
    Terminal 1:
    mtr -n 2001:db8:1:1::2000
    Terminal 2:
    sudo tail -f /var/log/syslog
    You'll be able to see a lots of package loss going on "mtr -n 2001:db8:1:1::2000" after a few minutes AND at the syslog, you'll be able to see when you lose your IPv6, that come from E1200v2.
    Conclusion
    E1200v2 doesn't have a working IPv6 Router Advertisement service. Please Cisco, fix it!
    The IPv4 from behind E1200v2 is fine, I'm using LinkSys products for about +10 years now... First time with problems like this but, IPv6 is more or like new and, problems are expected... Lets work on it?!
    Best Regards,
    Thiago

    Try to use dhclient perhaps?  Might I also suggest letting systemd deal with the dhcp issue and not NM.  That may seem incongruous but it is possible NM is mis-handling the dhcp hand-off to the network card.  I'm no guru but I got thinking about this when I saw this in your output:
    aug 26 19:15:39 arch_daboka NetworkManager[527]: <info> (enp1s0): device state change: ip-check -> secondaries (reason 'none') [80 90 0]
    aug 26 19:15:39 arch_daboka NetworkManager[527]: <info> (enp1s0): device state change: secondaries -> activated (reason 'none') [90 100 0]
    aug 26 19:15:40 arch_daboka NetworkManager[527]: <info> NetworkManager state is now CONNECTED_LOCAL
    It is very possible that I'm mis-interpreting this information so please take it with a boulder of salt. 

  • Happy Eyeballs for IPv6 is not working on Windows Xp

    Hello,
    Today IPv6 public DNS (2001:4860:4860::8888) was not reachable. I am running IPv4 and IPv6 in the dual stack. I could recive the Internet table and my IPv6 subnets are announced too. I could ping all of IPv4 websites but IPv6 websites won't work (DNS issue). Now my understanding about "Happy Eyeballs" is that if Ipv6 is not reachable it will fall back to Ipv4 auto. But it did not do that in my case. To make it worse it won't open the websites which are running over IPv4 either. I had both V4 & V6 DNS servers listed in "ipconfig/all" but I won't work.
    Has anybody came across this issue? Any suggestions?
    Thanks& Regards,
    Deepak Ambotkar           

    So it sounds like your situation is that
    You made successful connections using lookups on the IPv6 based DNS server.
    The DNS server then became unreachable.
    The IPv6 sites were now unreachable as well?
    Any correct cached address should still work.  However, if it was a general IPv6 outage which made the DNS server unreachable, cached DNS information for the IPv6 address might remain in place until it times out of the DNS cache.  In that case, the sites become unreachable for the lifetime of the stale cache.
    Once the IPv6 address age out of the cache, everything should work again.
    See if ipconfig /flushdns resolves the issue when it happens.
    Happy Eyeballs cannot help you if the cached DNS information becomes invalid.  Happy Eyeballs sets the initial preferred path.  If the network fails in the meantime, you must rely on traditional DNS timeout mechanisms for recovery.

  • Why normally we choose dot local extension for domain name

    hi....i have one question about choosing the domain name mostly we choose .local extension for the domain why is so whats happen if we choose .com or any other top level domain extension.......2nd part of the question........
    i have joined the domain its ok working my domain controller is my dns server as well now form the client computer when i open the google  it works my question is this ....how the query of google.com is resolved as i have a local dns server and in forward
    zone its not mentioned what is ip address of google.....is it automatically referred to any other dns server or how its worksss.......??
    Thanks

    Hello,
    Explanation of LutzMH about your first question was absloutly complete. It is a choice that administrators make to avoid collision between your local DNS server and global DNS servers. 
    About your second question I would like to recommend you to take a look at the Name Resolution process. But in a nutshell it is a hierarchy form. When you enter the website in your browsers it first check the local DNS servers and then move along to the
    global DNS servers to find the appropriate record. It is worth mentioning that in Name Resolution process, DNS caches plays a key roles as well. For more information about Name Resolution process refer to the link below:
    How DNS query works
    Regards.
    Mahdi Tehrani   |  
      |  
    www.mahditehrani.ir
    Please click on Propose As Answer or to mark this post as
    and helpful for other people.
    This posting is provided AS-IS with no warranties, and confers no rights.
    How to query members of 'Local Administrators' group in all computers?

  • Support for IPv6 DHCP or RDDNS

    Hi,
    I'm deploying IPv6 on our company and found out there is not possible way to automatically get DNS servers for IPv6 for mac computers, since it doesn't support dhcpv6 or the extensions for RA in stateless configuration mode.
    Any word on when are this features going to be available?

    It's really rather ridiculous DHCPv6 isn't implemented in OS X yet. I can (possibly) understand this for 10.4 and 10.5 but 10.6 is going to run into IPv6 deployment scenario's and should be able to handle all cases. I hope to God 10.7 has decent v6 support throughout OS X.
    As far as I know, the dhcp-client used by OS X is the KAME project client, now known as WIDE-DHCP which does have support for DHCPv6 and has so for a long time. Why Apple is so reluctant to include this feature in both iOS and OS X is quite the mystery.

  • CSCus07365 - should I not use DNS local database at all or I can enable it again after disabling?

    I had an issue with my RV320 that it suddenly stops answering DNS queries from my LAN. I just found out that a new firmware was released last month (v1.1.1.19), and one of its "known issues" is bug id CSCus07365 according to the release notes:
    Sometimes the DNS process is gone and can not reply the DNS request from LAN network.
    Solution: Check if you have enabled DNS local database feature on RV320/325, disable it, and then configure and save the WAN setting page again.
    From that description I am not sure if this is a one-time issue after upgrading (so that I should disable and re-enable it), or if this is still a current issue and it will be better to keep away from DNS local database at all until a new firmware is released.
    Thanks in advance!

    Please follow these directions to delete the Mail "sandbox" folder.
    Back up all data.
    Triple-click the line below to select it:
    ~/Library/Containers/com.apple.mail
    Right-click or control-click the highlighted line and select
    Services ▹ Reveal
    from the contextual menu.* A Finder window should open with a folder named "com.apple.mail" selected. If it does, move the selected folder — not just its contents — to the Desktop. Leave the Finder window open for now.
    Quit and relaunch Mail, and test. If the problem is resolved, you may have to recreate some of your Mail settings. You can then delete the folder you moved and close the Finder window. If you still have the problem, quit Mail again and put the folder back where it was, overwriting the one that may have been created in its place. Post your results.
    Caution: If you change any of the contents of the sandbox, but leave the folder itself in place, Mail may crash or not launch at all. Deleting the whole sandbox will cause it to be rebuilt automatically.
    *If you don't see the contextual menu item, copy the selected text to the Clipboard (command-C). In the Finder, select
    Go ▹ Go to Folder...
    from the menu bar, paste into the box that opens (command-V). You won't see what you pasted because a line break is included. Press return.

  • Cluster network name resource 'Cluster Name' failed registration of one or more associated DNS name(s) for the following reason: The handle is invalid.

    I'm stuck here trying to figure this error out.  
    2003 domain, 2012 hyper v core 3 nodes.  (I have two of these hyper V groups, hvclust2012 is the problem group, hvclust2008 is okay)
    In Failover Cluster Manager I see these errors, "Cluster network name resource 'Cluster Name' failed registration of one or more associated DNS name(s) for the following reason:  The handle is invalid."
    I restarted the host node that was listed in having the error then another node starts showing the errors.
    I tried to follow this site:  http://blog.subvertallmedia.com/2012/12/06/repairing-a-failover-cluster-in-windows-server-2012-live-migration-fails-dns-cluster-name-errors/
    Then this error shows up when doing the repair:  there was an error repairing the active directory object for 'Cluster Name'
    I looked at our domain controller and noticed I don't have access to local users and groups.  I can access our other hvclust2008 (both clusters are same version 2012).
    <image here>
    I came upon this thread:  http://social.technet.microsoft.com/Forums/en-US/85fc2ad5-b0c0-41f0-900e-df1db8625445/windows-2012-cluster-resource-name-fails-dns-registration-evt-1196?forum=winserverClustering
    Now, I'm stuck on adding a managed service account (mas).  I'm not sure if I'm way off track to fix this.  Any advice?  Thanks in advance!
    <image here>

    Thanks Elton,
    I restarted 3 hosts after applying the hotfix.  Then I did the steps below and got stuck on step 5.  That is when I get the error (image above).  There
    was an error repairing the active directory object for 'Cluster Name'.  For more data, see 'Information Details'.
    To reset the password on the affected name resource, perform the following steps:
    From Failover Cluster Manager, locate the name resource.
    Right-click on the resource, and click Properties.
    On the Policies tab, select If resource fails, do not restart, and then click OK.
    Right-click on the resource, click More Actions, and then click Simulate Failure.
    When the name resource shows "Failed," right-click on the resource, click More Actions, and then click Repair.
    After the name resource is online, right-click on the resource, and then click Properties.
    On the Policies tab, select If resource fails, attempt restart on current node, and then click OK.
    Thanks

Maybe you are looking for

  • MacBook Pro won't boot up after interruption of update

    I interrupted the installation for the OS X Mountain Lion v10.8.2 and now my MacBook Pro will not boot up. Any suggestions besides calling Apple support or going to the store?

  • Wireless clients not trusting well-known Certificate Authorities by default??

    I'm using PEAP-MSCHAPv2 for wireless authentication.  The radius server is a Windows 2008 server running NPS.  The clients consist of a bunch of laptops (mostly running Windows).  Not all of these laptops are members of Active Directory.  So, pushing

  • Syncing with Notes 8

    Hello All, I am having a devil of a time getting my device to sync with Notes 8. I am not using an Enterprise server, I just want to sync with my local notes files. I would like to sync my calendar and concacts. No place to host image, so I wil have

  • How to make a commercial

    Hi I was wondering if anyone knows what apple does to make the ipod commercial with the hand and how they can make 10 ipods come out at once with diferent games playing like the iPod Touch commercial. I was also wondering how on the iPhone commercial

  • Which transaction do i find the existing custom idoc?

    Hi,        Can you please tell me the transaction where i can find the existing custom idoc?