The exact work is to develop a (script) that enables checking links (ethernet) by regularly pining into them ( or any other mechanism) and translate internal address to the working link. the running machine is Linux fedora with kernel 3.8.x that supports network prefix translation (NPTv6) . simply , the linux machine will act like a router on the edge of internal network that switches between two different ISPs which are represented in this project as a linux machine for each ISP with different address prefixes assigned.
Few help you can get using,
[NPTv6] : http://tools.ietf.org/html/rfc6296
[Multihoming a small site] http://stack.nil.si/ipcorner/SmallSiteMultiHoming/
The required function of project:
1)Two external links ethernet1 and Ethernet 2 are connected to external networks IPS1 and ISP2 respectively.
2)ISP1 is the primary and preferred link that internet network is using it to connect to internet.
3)ISP2 is a backup link, it’s used whenever the primary Link is failed (failover mode).
4)NPTv6 translator machine is running Linux fedora (or any other release) with the Kernel (3.7.8) (kernel systems from 3.7.1 and onward supports Network Prefix translation for IPv6 and Network address translation (NAT) for IPv6.
5)What is required from the NPTv6 machine is to translate internal prefix (FD01:0203:0405/ 48) to external prefix (2001:0DB8:0001:/48) when the ISP1 link is Up and whenever IPS1 link fails, then the translation of internal prefix (FD01:0203:0405/ 48) would use external prefix of the working link (ISP2 in this case) 2001:0DB8:5555:/48 in the translation algorithm. And whenever the IPS1 link is alive again, the NPTv6 machine translates internal network prefix to the external prefix of ISP1.
6)The main work this project is that we need help with building a mechanism to detect failed link and mangle the packet to the working Link.
7)All works is done on VMware machine (virtual machine) and there are no cabling or switching involved.
8)The simple site multi homing is when using two different upstream networks ( ISP) to access internet to improve availability. Also, it’s important to notice here, that there is NO BGP or (PI ) provider Independent or PA provider aggregate is involved.
Deadline: 7 days
1.Destination network prefix translation (DNPT) and source network prefix translation (SNPT) are operational correctly., because that is what is based on.
2.If the script was successful , the linux machine should be able to translate addresses to the external ISP1 ( refer to the topology design and ping6 command should work to show the connection validity. when the ISP1 is failed( the ethernet is disabled then the linux machine should automatically remove the address translation rules that is used for ISP1 link and translate internal address to ISP2 external address. and (if possible) to switch back to ISP1 if the ISP1 link gone UP again. ( showcase of prefered address)
Note: that all ISP1 and ISP2 are hypothetical names for Linux machines connected to the NPTv6 translator machine.
There is similar work already done, you can use this work and can modify for this particular requirement,
Suggested changes on the above mentioned work:
1. I have only 1 internal address. (for instance , only R&D network in that project)
2. I use only IPv6 for internal and external addresses, with prefix length /48!
3. Neglect the load balancing (for the time being) and try to make (ISP Failover) part of the project work for mine.
4. The most important difference, in this project, NPTv6 is used for address translation! and not traditional IPv4(nat) as it is the case in that implementation.
Design document is attached.