Techwiki:Networking

From ReactOS Wiki
Jump to: navigation, search

Network configuration stored in the Registry

To my knowledge, there are 4 places in the Registry where Windows stores network information:

  • HKLM\System\CurrentControlSet\Services\{GUID}\Parameters\Tcpip
  • HKLM\System\CurrentControlSet\Services\Tcpip\Linkage - note the Bind and Export keys
  • HKLM\System\CurrentControlSet\Services\Tcpip\Parameters
  • HKLM\System\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{GUID}

To keep compatibility, all have to work the same under ReactOS as under Windows.

The job is now to find out, which one represents the main place to store the information and how the other ones are synchronized. Tests I could imagine under Windows XP or Server 2003:

  • Manipulate the Registry configuration information in all places and find out, which one is used after a system restart
  • Delete a key and determine by which actions it is recreated and synchronized
  • Trying different (also exotic) network settings to find out the logic behind Windows' storage of network settings (ie, changing the network config and observing the changes in registry)
  • ...
  • Doing these tests using different ways to change the network configuration (TCP/IP Configuration Dialog, XP's "netsh.exe", ipconfig, ....)

Please write your test results to this Wiki page. They could help solving some mysteries about Windows' Network Stack :-) Colin Finck 20:25, 20 October 2008 (UTC)

The following article of Microsoft might provide useful background information: KB 314053

Results

<placeholder>

References

Configuring an Internet Proxy

If your computer must go through a proxy server to access the internet, you can add/modify the following registry settings to enable the proxy. All of the values added to the registry below might not be required, but this works for me.

  1. Go to Start >> Run
  2. Type "regedit" and click [OK]
  3. Navigate to HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings
  4. Set the "ProxyEnable" DWORD to a value of '1'.
  5. Add a DWORD value called "MigrateProxy" with the value set to '1'.
  6. Add a DWORD value called "ProxyHttp1.1" with the value set to '0'.
  7. Add a String value called "ProxyOverride" with the value set to an empty string .
  8. Add a String value called "ProxyServer" with the value set to your proxy server address and port number, like this "http://myproxyserver.com:8080"