A network address translator is an ip router defined in RFC 1631 that can translate ip addresses and tcp / udp port numbers of packets as they are being forwarded. The Windows 2000 Professional workstation running ICS services connects to the Internet with your ISPs provided ip address and acts as DHCP allocator, DNS proxy, and router for the other PCs in your private network needing access to the Internet. The PCs in your private network are given ip addresses from the the private network 192.168.0.0 with subnet mask 255.255.255.0, reserved by RFC 1918.
The ICS-enabled Windows 2000 Professional workstation is multihomed with one nic connected to the Internet and the other nic connected to your private network. One of the nics could be a modem but its not practical to share access that way except via ISDN, ADSL, or cable modem. The ICS-enabled W2K workstation's nic should have the address 192.168.0.1. It acts as a gateway for the client PCs.
For outgoing and incoming packets, the source private ip address and tcp / udp port are mapped by ICS to the ISPs ip address and ports. To enable ICS:
- In Control Panel, double-click the Network and Dial Up Connections
- Right-click on the icon that represents the connection that is to be configured for sharing and choose Properties
- Click on the Sharing tab and put a check in the box "Enable Internet Connection for this Connection"
- If the connection that is to be shared is a dial-up connection, check the box "Enable On Demand Dialing"
- A warning appears concerning connectivity with other members of the network being lost, choose Yes, and continue.
You should not use ICS if computers on your network use static TCP/IP addresses, if there is a Windows 2000 domain controller on the network, other DNS servers, other DHCP servers, or gateways configured on the network. This is because ICS creates a static address for the NIC and allocates TCP/IP addresses to the other computers on your network. If there are other DHCP or DNS servers on the network, multiple problems will occur. Here are some common problems and their solutions when implementing ICS:
- The error message: Cannot enable shared access.
Error 783: Internet Connection Sharing cannot be enabled. The LAN connection selected as the private network is either not present, or is disconnected from the network. Please ensure that the LAN adapter is connected before enabling Internet Connection Sharing
Solution: This problem occurs when the address 192.168.0.1 is already in use on the network. To work around this problem, either change the IP address of the computer that is using this number, or, disconnect the computer from the network.
- Access to the intranet may be extremely slow when ICS is enabled. This difficulty occurs with no other discernable problems on the network, no conflicts with IP addresses, no DSL or phone connectivity problems, and no conflicts with DNS or DHCP servers on the network.
Solution: Oddly enough, this problem can occur if the host computer has multiple NICs that are manufactured by 3Com, and more specifically, the 3Com PCI 3C905B. If there are multiple cards on the host computer and they all share the same IRQ, this problem can occur. Replace the cards.
- A problem may occur in Windows 2000 Professional machines that use PPP over Ethernet for the outbound connection, and also ICS. These clients may have trouble sending email with attachments or browsing certain web sites.
Solution: PPoE requires a maximum transmission unit (mtu) setting on all client computers to be less that 1,492. The default size is 1,500. Changing the size of the MTU may solve this problem.
- After upgrading a Windows 98 SE machine to Windows 2000 Professional, ICS no longer works.
Solution: The ICS settings are not automatically migrated when this upgrade is performed. To solve this problem, simply reconfigure the ICS settings on the upgraded computer.
Windows XP Internet Connection Sharing
Configuring the ICS Computer
Win98 Annoyances ICS
HelpWithWindows' How to install ICS
Q234815 : Description of Internet Connection Sharing
WinGate Another solution
Midpoint Gatways Another solution
Comsocks Another solution