Home » How do I implement a second router within a network so that two computers can share the same (internal) IP address? [closed]

How do I implement a second router within a network so that two computers can share the same (internal) IP address? [closed]


What we have here is a failure to communicate.

There’s a few issues in play here, many of which are well, not technical.

Lets start with “Work Network Admin refuses to give me a 2nd IP address”. This is a right thing to do. One does not have arbitrary systems added to a work network. In many workplaces doing so without authorisation will likely lead to you very quickly having to put all your personal belongings in a box and walking out of here. And of course, if you showed the same level of hostility towards the network admin as you did in the original version of the question, well, he might be disinclined to explain it to you.

The reason for this is securing the network and even having a second router is a horrible horrible thing in most work environments.

LPchip’s answer covers why it dosen’t work for most part. Also consider that your two systems are in a separate network segment and unless routing is set up explicitly, systems outside your subnet can’t see them. Incidentally the person who could set this up is your network admin.

What can you do? Not much. Actually there’s no simple way to make it work. Samba relies on fixed, known ports and isn’t really designed for the sort of scenario you’re trying to work with.

The easy solution really is to be nice to your admin, bribe him with a sixpack of whatever beverage of choice and ask him how you can have your needs met without breaking the network. I’d also consider checking the company policy since its no use getting your way if you no longer have a job.

Whoa. It sounds like you’re either an intern, or a very young developer hired just out of college, with no idea of how the corporate world actually works. You’re soon in for a very nasty surprise if you continue down this course of action.

As multiple other people have probably told you, what you’re trying to do is almost certainly against your company policy, and almost certainly will get you fired if you persist. I mean, you’re playing with your career here. Once you get fired with cause, it’s nearly impossible to get hired again in the IT world.

You need to stop trying to route around the procedures and policies in place at your workplace, and start working with your coworkers and management to convince them that what you’re trying to do is a good thing for the business. If they ultimately tell you “no” and you still believe you’re in the right, you can then start polishing your resume and try to find another place to work that’s a little more open-minded.

The policies at your workplace are there out of an overabundance of caution. I’m not saying the policies are the best thing in the world, but they are approved by the management, and if you violate those policies, there are very real consequences for doing so that might require you to change your career.

Yes, it will take longer to buy the hardware/software you need through the company’s official channels. Yes, the system administrator might give you a hard time. But ultimately, if everyone else in the business knows what you’re doing and fully supports it, everyone will be better off. They might even change the policy to allow similar things to happen more easily in the future, if your effort pays off.

Blindly telling us in your comments to “just give you the answer” is the most inane thing you can possibly do. One, if you get it to work, and you’re caught or detected to be basically a rogue operator, you’re probably going to get fired.

And two, it’s not technically possible based on the way you’ve set it up now. You could install a second network card in your main (official) company desktop computer and use Windows’ built-in Internet Connection Sharing to give your other box local network access, but this would be a further violation of your company’s policy on not modifying their equipment or reconfiguring their software.

This whole cowboy “I’m better than the policy” attitude is really playing with fire. Step over the wrong boundary and you’d better learn how to flip burgers. This is the most correct answer to your overall problem that I can give you: work within the system to change and mold it to your needs; don’t try to bypass the system. If you do, you’ll quickly be branded a rogue operator and you will never be able to get another decent job in your life. Despite not knowing you at all, I wouldn’t wish this fate on you. Wisen up.

What you want is not possible. This is not how TCP/IP works.

By using a router, you create a new network, so obviously, things as file sharing stop working, as they only work with your internal network.

You should place the webserver either on your own computer or place the machine with a secondary IP in the network where you optionally use DNS to make people find that server (for example through the hostname, or by asking nicely to get a DNS entry through the DNS server.

By using a router, you create a new network, your traffic remains inside this network and by port forwarding on the router, you can selectively allow traffic to go from the outside of the network to the inside. If this were not the case, I could access the files on your computer through the internet. Its just not possible. Again, TCP/IP does not work that way.

Related Solutions

Explaining computational complexity theory

Hoooo, doctoral comp flashback. Okay, here goes. We start with the idea of a decision problem, a problem for which an algorithm can always answer "yes" or "no." We also need the idea of two models of computer (Turing machine, really): deterministic and...

Building a multi-level menu for umbraco

First off, no need pass the a parent parameter around. The context will transport this information. Here is the XSL stylesheet that should solve your problem: <!-- update this variable on how deep your menu should be --> <xsl:variable...

How to generate a random string?

My favorite way to do it is by using /dev/urandom together with tr to delete unwanted characters. For instance, to get only digits and letters: tr -dc A-Za-z0-9 </dev/urandom | head -c 13 ; echo '' Alternatively, to include more characters from the OWASP...

How to copy a file from a remote server to a local machine?

The syntax for scp is: If you are on the computer from which you want to send file to a remote computer: scp /file/to/send username@remote:/where/to/put Here the remote can be a FQDN or an IP address. On the other hand if you are on the computer wanting to...

What is the difference between curl and wget?

The main differences are: wget's major strong side compared to curl is its ability to download recursively. wget is command line only. There's no lib or anything, but curl's features are powered by libcurl. curl supports FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP,...

Using ‘sed’ to find and replace [duplicate]

sed is the stream editor, in that you can use | (pipe) to send standard streams (STDIN and STDOUT specifically) through sed and alter them programmatically on the fly, making it a handy tool in the Unix philosophy tradition; but can edit files directly, too,...

How do I loop through only directories in bash?

You can specify a slash at the end to match only directories: for d in */ ; do echo "$d" done If you want to exclude symlinks, use a test to continue the loop if the current entry is a link. You need to remove the trailing slash from the name in order for -L to...

How to clear journalctl

The self maintenance method is to vacuum the logs by size or time. Retain only the past two days: journalctl --vacuum-time=2d Retain only the past 500 MB: journalctl --vacuum-size=500M man journalctl for more information. You don't typically clear the journal...

How can I run a command which will survive terminal close?

One of the following 2 should work: $ nohup redshift & or $ redshift & $ disown See the following for a bit more information on how this works: man nohup help disown Difference between nohup, disown and & (be sure to read the comments too) If your...

Get exit status of process that’s piped to another

bash and zsh have an array variable that holds the exit status of each element (command) of the last pipeline executed by the shell. If you are using bash, the array is called PIPESTATUS (case matters!) and the array indicies start at zero: $ false | true $...

Execute vs Read bit. How do directory permissions in Linux work?

When applying permissions to directories on Linux, the permission bits have different meanings than on regular files. The read bit (r) allows the affected user to list the files within the directory The write bit (w) allows the affected user to create, rename,...

What are the pros and cons of Vim and Emacs? [closed]

I use both, although if I had to choose one, I know which one I would pick. Still, I'll try to make an objective comparison on a few issues. Available everywhere? If you're a professional system administrator who works with Unix systems, or a power user on...

How do I use pushd and popd commands?

pushd, popd, and dirs are shell builtins which allow you manipulate the directory stack. This can be used to change directories but return to the directory from which you came. For example start up with the following directories: $ pwd /home/saml/somedir $ ls...

How to forward X over SSH to run graphics applications remotely?

X11 forwarding needs to be enabled on both the client side and the server side. On the client side, the -X (capital X) option to ssh enables X11 forwarding, and you can make this the default (for all connections or for a specific connection) with ForwardX11 yes...

What does “LC_ALL=C” do?

LC_ALL is the environment variable that overrides all the other localisation settings (except $LANGUAGE under some circumstances). Different aspects of localisations (like the thousand separator or decimal point character, character set, sorting order, month,...

What is a bind mount?

What is a bind mount? A bind mount is an alternate view of a directory tree. Classically, mounting creates a view of a storage device as a directory tree. A bind mount instead takes an existing directory tree and replicates it under a different point. The...

Turn off buffering in pipe

Another way to skin this cat is to use the stdbuf program, which is part of the GNU Coreutils (FreeBSD also has its own one). stdbuf -i0 -o0 -e0 command This turns off buffering completely for input, output and error. For some applications, line buffering may...