The NetNAT supports a variety of commands that allow you to customize the NAT configuration and operational characteristics to meet the specific requirements of your network. NetNAT configuration commands fall into the following categories:
|
Global |
For defining NAT operational characteristics |
|
Interface |
For creating, configuring, or deleting an interface |
|
Service Mapping |
For controlling address translation |
|
Syslog Service |
For managing remote logging activities |
|
IP Routing |
For defining specific routes for NetNAT to use when sending messages. |
The description for each command contains the following information:
|
Command Name |
A string value that uniquely identifies the command. The command name appears as the heading for the command description. When typing the command name, you must enter the characters exactly as shown. |
|
Purpose |
Identifies the task this command performs. |
|
Command Syntax |
Indicates the format to use when typing the command and its associated parameters. |
|
Command Parameters |
Required or Optional pieces of information that you must supply to set options for command. |
|
For Example |
Provides an example of how the command syntax appears when all the parameters are given real values. |
|
Description |
When appropriate, provides additional information about the command. |
The commands may be abbreviated on input to the shortest representation that is still unique. For abbreviations that are not unique, the command earlier in the search sequence is used. The order that commands exist in the search sequence may be inferred by the order they are displayed in the help command output.
The Global commands listed below allow you to set the operational characteristics for the NAT and start and stop the NetNAT servers.
|
hostname |
Sets the hostname for the NAT. |
|
auth |
Starts the BSD Authentication server |
|
discard |
Starts the discard server |
|
echo |
Starts the echo server |
|
www |
Starts the Web server |
|
watchdog |
Sets the timeout period for the Watchdog Timer |
|
exit |
Shuts down the NAT and returns to DOS. |
The Interface commands listed below allow you attach drivers and configure interfaces between the NAT and the physical network(s). These commands must be completed before the NAT can communicate on the network interfaces.
|
attach alias |
Creates a new name for an existing NAT logical interface. |
|
attach asy |
Allows you to attach an asynchronous hardware driver to the NAT logical interface. |
|
attach packet |
Allows you to attach an ethernet hardware driver to a NAT logical interface. |
|
ifconfig |
Sets the parameters between the attached hardware drivers and the NAT logical interface. Also displays the status for the NAT logical interface. |
While this is not a major issue, we encourage the use of predictable interface names for particular interface types. The number of available interfaces depends on the NAT model you are using. Use the table below to select names for your interfaces:
|
Interface Type |
Recommended Name |
|
Ethernet |
en0, en1, en2, en3 |
|
Alias for Ethernet |
en0a, en0b, en0c |
|
Token Ring |
tr0, tr1 |
|
PPP Interfaces |
ppp0, ppp1 |
|
VLAN Trunks |
trk0, trk1 |
|
VLAN Sub-Interfaces |
sub0, sub1 |
The Service Mapping commands listed below instruct the NetNAT to create new mapping relationships between apparent external services and actual internal services. The mapping relationships may be port-and-protocol conscious, or port independent.
|
Port Mapping |
Allows you to map a specific apparent IP Address/Port combination to an internal actual service. |
|
Fixed Mapping |
Allows you to map all services for an external apparent IP Address to an internal IP Address. |
|
Default Mapping |
Allows you to map all undefined services to an internal IP Address. |
|
Local Mapping |
Do not map this service, as it is processed locally by the NetNAT. |
|
Mux Mapping |
Distributes incoming service requests across an array of servers. |
|
Pool Mapping |
Allocates public IP Addresses temporarily to internal clients on a one-to-one basis. |
|
Subnet Mapping |
Assigns public IP Addresses based upon subnet rules. This also may enable SNMP payload translation. |
The Route commands listed below allow you to define routing information for the NetNAT to use when accessing the internet, specific external networks, and internal, private networks.
|
route add default |
Allows you to set the default gateway for accessing the internet. |
|
route add |
Allows you to set a public route to a specific network. |
|
route addprivate |
Allows you to set a private route to a specific network. |
|
route tunnel |
Creates a VPN tunnel to a specific network. |
The Syslog commands listed below allow you to enable or disable the logging of NetNAT events and statistics and to turn on and off syslog’s reject message logging facilities.
|
syslog |
Allows you to start or change the syslog server, display the current status of the syslog, and stop the syslog server. |
|
syslog reject |
Allows you to enable or disable the syslog reject message logging facilities. |
access displays or modifies a set of rules that control the access of external networks by internal users. This facility permits the firewall administrator to limit direct Internet access to a subset of internal users if desired. Blocking internal users does not necessarily prevent those users from using the Internet, since they may be using a proxy server to access the Internet when that proxy server isn’t blocked.
access
access permit [subnet address] [netmask]
access deny [subnet address] [netmask] {log}
access drop [subnet address] [netmask]
|
Parameter Name |
Description |
|
permit |
This specifies that the described subnet or host should be given unlimited Internet access rights. |
|
deny |
This specifies that the described subnet or host should be prevented from accessing the Internet. |
|
drop |
This specifies that a previously defined rule for the described subnet or host should be removed. |
|
subnet address |
The IP address of a subnet or host that we wish to limit or enable Internet access. |
|
netmask |
The netmask of the subnet or 255.255.255.255 if specifying a host. |
|
log |
This optional parameter on the access deny subcommand causes a rejected attempt to be logged via syslog, using the priority specified for all rejected connections. See the "syslog reject" command. |
To display the current access control:
nscnat> access
4 access control rules in effect:
10.1.0.0/16 (255.255.255.0) Local only (3284 uses)
10.1.1.0/24 (255.255.255.0) Unlimited (9916628 uses)
10.1.3.6/32 (255.255.255.255) Unlimited (579932 uses)
10.1.9.99/32 (255.255.255.255) Unlimited (10966 uses)
nscnat> _
|
This shows that the huge subnet 10.1.x.x is denied direct access to the Internet, while within that "denied" subnet, the Class-C subnet 10.1.1.x has unlimited access, and the two hosts 10.1.3.6 (the proxy server and mail relay) and 10.1.9.99 (the network administrator) also have unlimited direct access.
Usage counts are displayed for each rule.
access permit creates a rule that gives a subnet or host unlimited direct access to the Internet.
access permit [subnet address] [netmask]
|
Parameter Name |
Description |
|
subnet address |
The IP address of a subnet or host that we wish to give Internet access. |
|
netmask |
The netmask of the subnet or 255.255.255.255 if specifying a host. |
Here we display the current rules, add an unlimited user and redisplay the rules to see if the addition worked:
nscnat> access
4 access control rules in effect:
10.1.0.0/16 (255.255.255.0) Local only (3284 uses)
10.1.1.0/24 (255.255.255.0) Unlimited (9916628 uses)
10.1.3.6/32 (255.255.255.255) Unlimited (579932 uses)
10.1.9.99/32 (255.255.255.255) Unlimited (10966 uses)
nscnat> access permit 10.1.9.100 255.255.255.255
nscnat> access
5 access control rules in effect:
10.1.0.0/16 (255.255.255.0) Local only (3284 uses)
10.1.1.0/24 (255.255.255.0) Unlimited (9916628 uses)
10.1.3.6/32 (255.255.255.255) Unlimited (579932 uses)
10.1.9.99/32 (255.255.255.255) Unlimited (10966 uses)
10.1.9.100/32 (255.255.255.255) Unlimited (0 uses)
nscnat> _
|
This command may be used to change a rule for a previously specified network. If a rule already exists for the network we wish to grant unlimited access, the restriction is changed to "unlimited" from whatever it was before.
access deny creates a rule that denies a subnet or host unlimited direct access to the Internet.
access deny [subnet address] [netmask] {log}
|
Parameter Name |
Description |
|
subnet address |
The IP address of a subnet or host that we wish to deny direct Internet access. |
|
netmask |
The netmask of the subnet or 255.255.255.255 if specifying a host. |
|
log |
This optional parameter, when present, instructs the NetNAT to log denied accesses via the reject syslog facility. By default, the reject syslog messages use the LOCAL2 facility and the INFO priority. This may be modified by the "syslog reject" command. The logged messages will have a record ID of "ac" to indicate that these represent denied outbound accesses. |
Here we display the current rules, add a restricted user and redisplay the rules to see if the addition worked:
nscnat> access
4 access control rules in effect:
10.1.0.0/16 (255.255.255.0) Local only (3284 uses)
10.1.1.0/24 (255.255.255.0) Unlimited (9916628 uses)
10.1.3.6/32 (255.255.255.255) Unlimited (579932 uses)
10.1.9.99/32 (255.255.255.255) Unlimited (10966 uses)
nscnat> access deny 10.1.9.100 255.255.255.255
nscnat> access
5 access control rules in effect:
10.1.0.0/16 (255.255.255.0) Local only (3284 uses)
10.1.1.0/24 (255.255.255.0) Unlimited (9916628 uses)
10.1.3.6/32 (255.255.255.255) Unlimited (579932 uses)
10.1.9.99/32 (255.255.255.255) Unlimited (10966 uses)
10.1.9.100/32 (255.255.255.255) Local only (0 uses)
nscnat> _
|
This command may be used to change a rule for a previously specified network. If a rule already exists for the network we wish to restrict to local access, the restriction is changed to "local only" from whatever it was before.
access ftp creates a rule that denies a subnet or host direct access to the Internet, except for FTP accesses. This is to accommodate applications that use both HTTP and FTP for data transfer, but that have added HTTP proxy support and not FTP proxy support.
access ftp [subnet address] [netmask] {log}
|
Parameter Name |
Description |
|
subnet address |
The IP address of a subnet or host that we wish to deny direct Internet access except for FTP transfers. |
|
netmask |
The netmask of the subnet or 255.255.255.255 if specifying a host. |
|
log |
This optional parameter, when present, instructs the NetNAT to log denied accesses via the reject syslog facility. By default, the reject syslog messages use the LOCAL2 facility and the INFO priority. This may be modified by the "syslog reject" command. The logged messages will have a record ID of "ac" to indicate that these represent denied outbound accesses. |
Here we display the current rules, add a restricted user and redisplay the rules to see if the addition worked:
nscnat> access
4 access control rules in effect:
10.1.0.0/16 (255.255.255.0) Local only (3284 uses)
10.1.1.0/24 (255.255.255.0) Unlimited (9916628 uses)
10.1.3.6/32 (255.255.255.255) Unlimited (579932 uses)
10.1.9.99/32 (255.255.255.255) Unlimited (10966 uses)
nscnat> access ftp 10.1.9.100 255.255.255.255
nscnat> access
5 access control rules in effect:
10.1.0.0/16 (255.255.255.0) Local only (3284 uses)
10.1.1.0/24 (255.255.255.0) Unlimited (9916628 uses)
10.1.3.6/32 (255.255.255.255) Unlimited (579932 uses)
10.1.9.99/32 (255.255.255.255) Unlimited (10966 uses)
10.1.9.100/32 (255.255.255.255) FTP (0 uses)
nscnat> _
|
This command may be used to change a rule for a previously specified network. If a rule already exists for the network we wish to restrict to local access, the restriction is changed to "FTP" from whatever it was before.
access drop deletes a rule that was created with either an access permit or access deny command.
access drop [subnet address] [netmask]
|
Parameter Name |
Description |
|
subnet address |
The IP address of a subnet or host that we specified in a previous permit or deny command. |
|
netmask |
The netmask of the subnet or 255.255.255.255 if we specified a host. |
Here we display the current rules, drop an unlimited user and redisplay the rules to see if the deletion worked:
nscnat> access
4 access control rules in effect:
10.1.0.0/16 (255.255.255.0) Local only (3284 uses)
10.1.1.0/24 (255.255.255.0) Unlimited (9916628 uses)
10.1.3.6/32 (255.255.255.255) Unlimited (579932 uses)
10.1.9.99/32 (255.255.255.255) Unlimited (10966 uses)
nscnat> access drop 10.1.3.6 255.255.255.255
nscnat> access
3 access control rules in effect:
10.1.0.0/16 (255.255.255.0) Local only (3284 uses)
10.1.1.0/24 (255.255.255.0) Unlimited (9916679 uses)
10.1.9.99/32 (255.255.255.255) Unlimited (10968 uses)
nscnat> _
|
access rst controls the transmission of the TCP RST packet to an internal user when an access attempt is being rejected. The normal TCP tradition calls for a failed attempt to be rejected with a reset packet (containing the RST flag). This will, however, result in an immediate access retry by many programs. For example, Microsoft Internet Explorer will retry four times for each configured MSN host, and Netscape Navigator will retry nearly 100 times before giving up. If you are logging the rejected attempts, this can get pretty upsetting after a while. Thus, we have created the access rst command to permit you to disable the RST messages.
access rst [on|off]
|
Parameter Name |
Description |
|
on | true | yes | 1 |
Enable transmission of the RST packet in response to rejected outbound TCP connection. |
|
off | false | no | 0 |
Disable transmission of the RST packet in response to rejected outbound TCP connection. |
The access rst command without the on/off parameter will display the current state of the access rst mode.
arp displays the contents of the IP Address-to-ethernet address translation table, and through sub-commands allows you to manipulate that table. This section describes the arp command in its most basic form, and lists the sub-commands. Subsequent sections will detail the sub-command functions.
arp
arp add [hostid] [ether addr]
arp drop [hostid]
arp flush
arp publish [hostid] [ether addr]
|
Parameter Name |
Description |
|
hostid |
The hostname or IP Address of the specified computer. |
|
ether addr |
The hardware or MAC address for the ethernet card. This is specified as six two-digit hex values separated by colons. |
To display the contents of the ARP table:
nscnat> arp received 2 badtype 0 bogus addr 0 reqst in 0 replies 2 reqst out 2 IP addr Type Time Q Addr 139.31.113.12 10 Mb Ethernet 899 00:20:af:eb:01:de 139.31.113.41 10 Mb Ethernet 712 00:60:be:83:23:11 nscnat> _ |
On the first line of displayed output:
|
received |
Number of unknown hardware types in received messages |
|
badtype |
Number of arp messages received. |
|
bogus addr |
Number of times computers claimed invalid IP Addresses. |
|
reqst in |
Number of received ARP requests. |
|
reqst out |
Number of transmitted ARP requests. |
In the ARP Table Display section:
|
IP addr |
Address of a computer on the LAN. |
|
Type |
Hardware type (ethernet only). |
|
Time |
Number of seconds until this entry expires. |
|
Q |
If the ARP process is still pending, the number of messages in queue awaiting address resolution before they may be sent. |
|
Addr |
The hardware or "MAC" address of the remote computer’s ethernet controller, expressed as six two-digit hex values separated by colons. |
The sub-commands that manipulate the ARP table are described in the next sections.
The arp add sub-command allows you to create an ARP table entry by hand. Normally, this process occurs automatically in the course of normal network operation, but you may wish to manually define a host’s hardware address. Entries created with the arp add sub-command do not expire as do normal entries. The only way to delete these is with the arp drop command.
arp add [hostid] [ether addr]
|
Parameter Name |
Description |
|
hostid |
The hostname or IP Address of the specified computer. |
|
ether addr |
The hardware or MAC address for the ethernet card. This is specified as six two-digit hex values separated by colons. |
Here we display the ARP table, manually add an entry, and then re-display the table to show that the add worked:
nscnat> arp received 2 badtype 0 bogus addr 0 reqst in 0 replies 2 reqst out 2 IP addr Type Time Q Addr 139.31.113.12 10 Mb Ethernet 899 00:20:af:eb:01:de 139.31.113.41 10 Mb Ethernet 712 00:60:be:83:23:11 nscnat> arp add 139.31.113.69 00:20:af:eb:02:ea nscnat> arp received 2 badtype 0 bogus addr 0 reqst in 0 replies 2 reqst out 2 IP addr Type Time Q Addr 139.31.113.12 10 Mb Ethernet 899 00:20:af:eb:01:de 139.31.113.41 10 Mb Ethernet 712 00:60:be:83:23:11 139.31.113.69 10 Mb Ethernet 0 00:20:af:eb:02:ea nscnat> _ |
The arp drop sub-command will delete a specified ARP table entry by hand. Normally, this process occurs periodically in the course of normal network operation, but you may wish to do this for debugging reasons.
arp drop [hostid]
|
Parameter Name |
Description |
|
hostid |
The hostname or IP Address of the specified computer. |
Here we display the ARP table, manually drop an entry, and then re-display the table to show that the drop worked:
nscnat> arp received 2 badtype 0 bogus addr 0 reqst in 0 replies 2 reqst out 2 IP addr Type Time Q Addr 139.31.113.12 10 Mb Ethernet 899 00:20:af:eb:01:de 139.31.113.41 10 Mb Ethernet 712 00:60:be:83:23:11 139.31.113.69 10 Mb Ethernet 0 00:20:af:eb:02:ea nscnat> arp drop 139.31.113.69 nscnat> arp received 2 badtype 0 bogus addr 0 reqst in 0 replies 2 reqst out 2 IP addr Type Time Q Addr 139.31.113.12 10 Mb Ethernet 899 00:20:af:eb:01:de 139.31.113.41 10 Mb Ethernet 712 00:60:be:83:23:11 nscnat> _ |
If the entry that you delete is for an active host, it will be restored almost before you can look back.
The arp flush sub-command completely clears the ARP table. This is a debugging tool that may help occasionally. Active hosts will return immediately to the table, as the ARP process re-resolves their hardware addresses. Please note that table entries that were created by hand using the arp add facility will not be flushed by this sub-command.
arp flush
None.
Here we display the ARP table, flush the table, and then re-display it:
nscnat> arp received 2 badtype 0 bogus addr 0 reqst in 0 replies 2 reqst out 2 IP addr Type Time Q Addr 139.31.113.12 10 Mb Ethernet 899 00:20:af:eb:01:de 139.31.113.41 10 Mb Ethernet 712 00:60:be:83:23:11 139.31.113.69 10 Mb Ethernet 0 00:20:af:eb:02:ea nscnat> arp flush nscnat> arp received 2 badtype 0 bogus addr 0 reqst in 0 replies 2 reqst out 2 IP addr Type Time Q Addr 139.31.113.69 10 Mb Ethernet 0 00:20:af:eb:02:ea nscnat> _ |
If the entry that you delete is for an active host, it will be restored almost before you can look back. If the entry was created by (as was the persistent entry in this example), it will not be deleted by the arp flush sub-command.
The arp publish sub-command is a special-case version of arp add, which, in addition to creating an ARP table entry for the specified host, instructs the NetNAT to reply to ARP requests for that host. This may be used to help a host that seems incapable of replying to ARP requests, or when you wish the NetNAT to publish its own hardware address when the NetNAT can forward packets addressed for the specified host to its destination. When the NetNAT is answering ARP requests on behalf of a host that the NetNAT can help reach, it is called "proxy ARP." As in arp add, the entries created by arp publish do not expire.
arp publish [hostid] [ether addr]
|
Parameter Name |
Description |
|
hostid |
The hostname or IP Address of the specified computer. |
|
ether addr |
The hardware or MAC address for the ethernet card. This is specified as six two-digit hex values separated by colons. |
This command is infrequently used, but can be very helpful when routing protocols fail.
attach packet is an interface command that creates the logical interface between a hardware driver and the NetNAT. Refer to Interface Naming Conventions earlier in this chapter for recommended interface names.
attach packet [int #] [int name] [pool size] [mtu]
|
Parameter Name |
Description |
|
int # |
The software interrupt vector assigned to the hardware driver when it was started. |
|
int name |
The name of the NetNAT's logical interface. |
|
pool size |
The size in K-bytes of a memory pool to allocate for the low-level driver software to use. |
|
mtu |
The physical size in bytes of maximum packet that this interface will be able to send. |
To attach the first (or only) driver to NAT interface "en0", the command is:
attach packet 0x60 en0 32 1500
This command attaches a packet driver on software interrupt vector 0x60 (96 decimal) to interface "en0" and allocates 32 K-Bytes of buffering for 1500-byte packets.
Possible responses are:
attach alias is an interface command that associates a new name with an existing network interface. This permits assignment of additional IP Addresses, service mappings and routes to a single ethernet interface.
attach alias [int name] [alias name]
|
Parameter Name |
Description |
|
int name |
The name of an existing NetNAT ethernet interface. |
|
alias name |
The new name to be associated with the existing interface. |
To create a new alias "en0a" for NAT interface "en0", the command is:
attach alias en0 en0a
The resulting alias interface inherits the primary characteristics of the true interface, including IP Address and hardware characteristics.
Possible responses are:
attach vlan is an interface command that creates a logical sub-interface within a VLAN Trunk. The VLAN Trunk must be compatible with the IEEE 802.1Q Tag Switching specification. Refer to Interface Naming Conventions earlier in this chapter for recommended interface names.
attach vlan [trunk int name] [sub-int name] [vlan label]
|
Parameter Name |
Description |
|
trunk int name |
The name of a previous-defined ethernet interface that was designated as a VLAN Trunk through use of the ifconfig vlan command. |
|
sub-int name |
The name of the new logical interface that is a sub-interface within the specified VLAN Trunk. |
|
vlan label |
The 20-bit decimal label specifying the VLAN within this trunk. See the 802.1Q specification and the documents that accompany 802.1Q-complient ethernet switches. |
To attach the first (or only) driver to NAT interface "sub0" within trunk "trk0" on label 11202, the command is:
attach vlan trk0 sub0 11202
Possible responses are:
attach asy is an interface command that creates the logical interface between an asynchronous hardware driver and the NetNAT. See Additional Information for recommended interface naming conventions.
attach asy [i/o] [irq] ppp [name] [window] [buf] [speed] [opt]
|
Parameter Name |
Description |
|
i/o |
The communication port I/O Address |
|
irq |
The com port IRQ (e.g., 4 for com1, 3 for com2) |
|
name |
The name of the NetNAT's logical interface (typically pp0). |
|
window |
Use the value 8092 |
|
buf |
Use the value 1500 |
|
opt |
Optional. When used, select a value from the following list: |
To attach the first (or only) ASYNC driver to NetNAT interface "pp0" at 230,400bps using a 16650, the command is:
attach asy 0x3f8 4 ppp pp0 8092 1500 230400 6
This attaches a PPP driver to interface "pp0" using a StarTech/Exar 16650 on COM1.
Possible responses are:
The start auth global command starts/stops and controls the Authentication Server. This server responds to the ‘who is on IP Address/Port nnn/n?’ queries from telnet and other servers with canned information to satisfy the remote host, but without giving away any information about your users. The protocol is defined in RFC 1413. At startup, NetNAT sets the auth reply to "USERID:NSCUSER".
start auth
stop auth
auth
auth hidden
auth user userid
|
Parameter Name |
Description |
|
hidden |
Changes the auth reply to "ERROR:HIDDEN-USER." |
|
user userid |
Changes the auth reply to "USERID:userid," where userid is an arbitrary value that you provide. For example, "auth user NSCUSER" would set the reply string to the original default value. |
The BSD Authentication Server listens on port 113. It responds to queries from telnet and other servers. This service can reduce session startup time by up to 10 seconds by eliminating the remote system timeout awaiting an authentication response. The request consists of a tiny message containing the source port number of the user client application (or what the remote host thinks is the port number, when we’re doing port translation). Our reply contains the specified port number and a canned user login ID of "NSCUSER," or a value that you specify. This satisfies the remote host while giving away no private information.
The stop auth command may be used to shut down the authentication server.
The "auth" command with no parameters will display the current value of the reply string.
In order for external hosts to access this authentication service, you must enable it as a "local" service with the "service local" command.
The cd command is equivalent to a unix or MS-DOS "change directory" command. It changes the directory for the NetNAT console commands, but does not change the "working directory" where the NetNAT configuration and web files are located.
cd [path]
There are none, other than the directory path.
The delete command is equivalent to the MS-DOS file deletion command.
delete [filename]
None, other than the name of the file to delete.
dhcp is the Distributed Host Configuration Protocol, and is used to assign IP Addresses and other information to hosts that are just coming online. This is a superset of an older, like facility called BOOTP (for the Bootstrap Protocol). DHCP is gaining popularity by easing the administrative load on MIS and network support personnel. The NetNAT has a DHCP client that allows you to solicit your public IP Address from an outside DHCP server. This is popular when the NetNAT is being used as a firewall in a cable TV cable modem Internet distribution. Subsequent sections will detail the sub-command functions.
dhcp
dhcp [int name]
dhcp [int name] enable {hostname}
dhcp [int name] disable
dhcp [int name] release
dhcp [int name] renew
|
Parameter Name |
Description |
|
int name |
The name of the NetNAT interface that is using DHCP. Any and all ethernet interfaces are capable and permitted to use DHCP. |
|
hostname |
The optional "system name" that is to be sent in DHCP packets. If not specified on the dhcp … enable configuration line, the NetNAT will use the NetNAT’s hostname instead. |
|
dhcp |
Displays all available DHCP information for all interfaces that are using DHCP. |
|
dhcp en0 |
Displays all DHCP information for interface "en0." |
To display the DHCP information for interface en0 in DHCP "bound" mode, with a complete set of information from a server:
nscnat> dhcp en0
en0 BOUND, ClientIP=144.12.3.4 Server=144.12.5.1 Netmask=255.255.0.0
Nameservers=144.12.5.211,144.12.19.02 Gateway=144.12.19.254
Hostname=nscnat, Domain name=mumble.dom
Lease: Original=1:00:00:00 Remaining=0:06:14:10
T1=0:03:41:55 T2=0:00:52:04 LastXID=0xafd60522
nscnat> _
|
|
Displayed Field |
Description |
|
BOUND |
This is the current state of the dhcp client for the specified interface. Possible values are IDLE, DISCOVERY, REQUEST, BOUND, RELEASING, RENEWING and REBINDING. Details on DHCP and the states are found below, and in RFC 1541. |
|
ClientIP |
The IP Address that this interface was given by the DHCP server or zero if none. |
|
Server |
The IP Address of the DHCP server that gave us our configuration or zero if none. |
|
Netmask |
The netmask that we received from the DHCP server. |
|
Broadcast |
The broadcast address that we received from the DHCP server. |
|
Nameservers |
The addresses of up to two DNS servers given to us by the DHCP server. |
|
Gateway |
Our default router or gateway as given to us by DHCP. |
|
Hostname |
Our host name. |
|
Domain name |
The domain name that we received from the DHCP server. |
|
Lease |
The length of time that the received information should be considered valid. After that time we may no longer use the information. |
|
Original |
The original length of our lease in days:hours:minutes:seconds. |
|
Remaining |
The amount of time remaining on our lease in the same units. |
|
T1 |
A timer that causes us to attempt to renew our lease when it expires. It is set initially to one-half of the original lease time. |
|
T2 |
A last-gasp timer that attempts to get our lease re-bound just before it expires. |
|
LastXID |
The 32-bit number included in the last DHCP message exchanges. This is for debugging only. |
|
DHCP State |
Description |
|
IDLE |
We are not trying to get new information from the DHCP server and have no configuration. |
|
DISCOVERY |
We are sending "Discovery" broadcast messages to solicit a configuration offer from one or more DHCP servers. |
|
REQUEST |
We have received one or more offers from DHCP servers, have selected an offer we like, and have sent a "Request" message for the information offered. |
|
BOUND |
We received an acknowledgement in response to our "Request," and are using the offered information. |
|
RENEWING |
Our T1 timer has expired, and we are attempting to renew our lease before it lapses. |
|
REBINDING |
We have been unable to renew our lease, and it’s about to expire. We are sending "Discovery" packets in a frantic attempt to get a new lease before our information expires. |
|
RELEASING |
We no longer want the information we received and have sent a "Release" message to surrender the information. |
dhcp enable establishes a DHCP process for the specified interface. All existing address information is deleted from the interface in anticipation of receiving fresh information from a DHCP server. An optional "system name" may be specified in this sub-command to override the DHCP client’s use of your NetNAT’s hostname in DHCP messages.
dhcp [int name] enable {hostname}
|
Parameter Name |
Description |
|
int name |
The name of the NetNAT interface that is using DHCP. Any and all ethernet interfaces are capable and permitted to use DHCP. |
|
hostname |
The optional "system name" that is to be sent in DHCP packets. If not specified on the dhcp … enable configuration line, the NetNAT will use the NetNAT’s hostname instead. |
|
dhcp en0 enable |
Enables DHCP operation on ethernet interface "en0." |
To start DHCP on interface en0 (overriding the system name) and then display the result before any server can reply:
nscnat> dhcp en0 enable cx29292-12
nscnat> dhcp en0
en0 DISCOVERY, ClientIP=0.0.0.0 Server=0.0.0.0 Netmask=0.0.0.0
Nameservers=0.0.0.0,0.0.0.0 Gateway=0.0.0.0
Hostname=cx29292-12, Domain name=(null)
Lease: Original=0:00:00:00 Remaining 0:00:00:00
T1=0:00:00:00 T2=0:00:00:00 LastXID=0xafd60522
nscnat> _
|
dhcp disable terminates the DHCP process for the specified interface.
dhcp [int name] disable
|
Parameter Name |
Description |
|
int name |
The name of the NetNAT interface that is using DHCP. Any and all ethernet interfaces are capable and permitted to use DHCP. |
|
dhcp en0 disable |
Disables DHCP operation on ethernet interface "en0." |
dhcp release clears previously-acquired IP information, giving up the data received from a DHCP server. This may be done in preparation for re-acquiring DHCP information or for testing.
dhcp [int name] release
|
Parameter Name |
Description |
|
int name |
The name of the NetNAT interface that is using DHCP. Any and all ethernet interfaces are capable and permitted to use DHCP. |
|
dhcp en0 release |
Forget all acquired DHCP information on ethernet interface "en0." |
dhcp renew contacts the DHCP server that configured the NetNAT’s interface and requests a renewal of the acquired information. This normally happens half way through the lease period, or may be initiated manually with this sub-command.
dhcp [int name] renew
|
Parameter Name |
Description |
|
int name |
The name of the NetNAT interface that is using DHCP. Any and all ethernet interfaces are capable and permitted to use DHCP. |
|
dhcp en0 renew |
Attempts to refresh previously-received DHCP information for ethernet interface "en0." |
The dir command is similar to an MS-DOS "directory" command. It always displays all available file information. There are no optional arguments other than specification of the file to display.
dir {pattern}
None, other than the optional file name or wildcard pattern.
The discard global command starts the discard server. This server accepts and throws away any packets received.
start discard
None
start discard
The domain commands control the NetNAT’s use of the Domain Name Service. There is usually no need for your NetNAT to know anything about DNS, since its role is that of firewall rather than host. Because of this, many of these commands will be undocumented due to laziness.
domain addserver [ip addr]
domain dropserver [ip addr]
domain list
domain query [hostname]
domain retry [interval]
domain suffix [domain name]
domain cache clean
domain cache list
domain cache size [size]
domain cache wait [interval]
|
Parameter Name |
Description |
|
ip addr |
An IP Address of a domain server. |
|
hostname |
A fully-qualified domain name for a host. |
|
interval |
A time period in seconds. |
|
size |
Number of cache entries to keep in memory (default 20). |
domain suffix safety.net
The domain addserver sub-command gives your NAT knowledge of a domain name server for its own use. There is usually no need for your NetNAT to know anything about DNS, since its role is that of firewall rather than host.
domain addserver [ip addr]
|
Parameter Name |
Description |
|
ip addr |
An IP Address of a domain server. |
domain addserver 192.128.133.151
This gives your NetNAT the address of a computer that will respond to DNS queries. The NetNAT does not need this for normal operation.
The domain dropserver sub-command deletes knowledge of a particular domain name server. There is usually no need for your NetNAT to know anything about DNS, since its role is that of firewall rather than host.
domain dropserver [ip addr]
|
Parameter Name |
Description |
|
ip addr |
An IP Address of a domain server previously defined with a "domain addserver" command. |
domain dropserver 192.128.133.151
This deletes the specified name server from the NetNAT’s tables.
The domain list sub-command displays all information known by the NetNAT relative to domain name servers. There is usually no need for your NetNAT to know anything about DNS, since its role is that of firewall rather than host.
domain list
None.
nscnat> domain list
Server address srtt mdev timeout queries responses
192.128.133.151 197 27 2003 21 21
nscnat> _
|
|
Displayed Field |
Description |
|
Server address |
The IP Address of a configured Domain Name Server. |
|
srtt |
The "smoothed" measured response time between the NetNAT and the specified Domain Name Server. The initial value is 2000 milliseconds, which will change as more queries are processed. |
|
mdev |
Mean deviation in response time from the specified Domain Name Server. |
|
timeout |
The timeout value in milliseconds for the specified DNS host. |
|
queries |
The number of DNS queries from the NetNAT to the specified DNS host. |
|
responses |
The number of DNS responses received by the NetNAT from the specified DNS host. |
The echo global command starts the echo server. This server responds to ping requests.
start echo
None
start echo
This server handles "ping" requests that are addressed to the NetNAT itself. If a ping is addressed to one of the many possible sets of addresses that the Internet may access through the NetNAT, a complex set of rules are applied to determine whether the NetNAT should answer, ignore the message, or pass it through for an Intranet computer to handle.
The exit global command causes the NetNAT to kill all sub-processes, release all conventional and XMS memory, and exit to DOS. Before quitting, it disables the watchdog timer.
exit
None
exit
The gaming command displays and may modify the state of the Multi-point UDP Gaming switch. Enabling multi-point gaming, will permit an internal client to converse with more than one destination hosts through a single UDP session context object. Many multi-player Internet games require this facility to work. This is enabled by default.
gaming {on|off}
|
Parameter Name |
Description |
|
on | true | yes | 1 |
Enable the Multi-point UDP Gaming facility. |
|
off | false | no | 0 |
Disable the Multi-point UDP Gaming facility. |
There is no response when the command parameters are correct.
With no parameter, the gaming command will display the state of the Multi-point UDP Gaming switch.
The hop command is a debugging tool for the network administrator. It is equivalent to the unix "traceroute" and Windows "tracert" commands.
hop check [hostid]
hop maxttl [max hops]
hop maxwait [max time]
hop queries [# queries]
|
Parameter Name |
Description |
|
hostid |
The hostname or IP Address of the specified destination. |
|
max hops |
The maximum value to place in the Time To Live (TTL) field of the IP headers of hop check queries. If not specified, the NetNAT will default to 30 hops. |
|
max time |
Maximum time that the NetNAT should wait for replies. The default is 5 seconds. |
|
# queries |
The number of queries to be sent at each hop level. The default is 3 queries per hop level. |
The hop check command is a debugging tool for the network administrator. It is equivalent to the unix "traceroute" and Windows "tracert" commands. Like the unix traceroute, it uses UDP packets addressed to high-numbered ports and small Time-to-Live values to discover the path that messages follow to a remote destination. Each hop along the way should return an ICMP TTL Exceeded error message. The destination computer should return an ICMP Port Unreachable message.
hop check [host id]
|
Parameter Name |
Description |
|
hostid |
The hostname or IP Address of the specified destination. |
Trace the route to the remote computer fred.bogus.dom:
nscnat> hop check fred.bogus.dom
Resolving fred.bogus.dom… 204.167.96.12:33434
1: 10.1.16.254 mygw.my.dom. (11 ms) (9 ms) (9 ms)
2: 10.14.27.254 corpgw.my.dom. (16 ms) (15 ms) (15 ms)
3: 207.86.23.3 ispgw.isp.dom. (31 ms) (34 ms) (41 ms)
4: 207.87.33.19 hssi1.den.isp.dom. (86 ms) (91 ms) (87 ms)
5: 207.87.33.24 isp.den.oisp.dom. (91 ms) *** (93 ms)
6: 197.41.59.77 fddi1.sjc.oisp.dom. (110 ms) (119 ms) (106 ms)
7: 197.41.59.21 bogusgw.oisp.dom. (133 ms) (142 ms) (138 ms)
8: 204.167.96.12 fred.bogus.dom. (140 ms) (140 ms) (148 ms)
traceroute done: normal (Unreachable Port)
Hit enter to continue
nscnat> _
|
The hostname global command sets a unique name for the NetNAT. This name will be the command prompt on the console, and is the default system name when you use DHCP to solicit IP Addresses and gateway information.
hostname [hostname]
|
Parameter Name |
Description |
|
hostname |
A string value that uniquely identifies your NetNAT. |
To name your NetNAT device ‘MyNAT’, the command is:
fw> hostname MyNAT
MyNAT> _
|
The ip commands display or modify some aspect of the NetNAT’s handling of IP packets. The interesting one is ip status which displays the contents of the IP "MIB" (the SNMP Management Information Block containing the IP statistics).
icmp status
None.
Possible responses are:
nscnat> icmp status
( 1)icmpInMsgs 28 (14)icmpOutMsgs 0
( 2)icmpInErrors 0 (15)icmpOutErrors 0
( 3)icmpInDestUnreachs 4 (16)icmpOutDestUnreachs 0
( 4)icmpInTimeExcds 24 (17)icmpOutTimeExcds 0
( 5)icmpInParmProbs 0 (18)icmpOutParmProbs 0
( 6)icmpInSrcQuenchs 0 (19)icmpOutSrcQuenchs 0
( 7)icmpInRedirects 0 (20)icmpOutRedirects 0
( 8)icmpInEchos 0 (21)icmpOutEchos 0
( 9)icmpInEchoReps 0 (22)icmpOutEchoReps 0
(10)icmpInTimestamps 0 (23)icmpOutTimestamps 0
(11)icmpInTimestampReps 0 (24)icmpOutTimestampReps 0
(12)icmpInAddrMasks 0 (25)icmpOutAddrMasks 0
(13)icmpInAddrMaskReps 0 (26)icmpOutAddrMaskReps 0
nscnat> _
|
ipInReceives shows the number of inbound IP packets that the NetNAT has received, ipInHdrErrors contains the number of header format or checksum errors seen, ipForwDatagrams counts packets forwarded through the NetNAT (whether translated or not), ipInDelivers and ipOutRequests shows packets either were accepted for local processing or that originated in the NetNAT.
The ifconfig interface command displays summary status information and counts for a specific interface or all interfaces attached to this NetNAT. The ifconfig sub-commands (see Additional Information below) allow you to set operational parameters for each logical interface you create with the attach command.
ifconfig [int name]
|
Parameter Name |
Description |
|
blank |
Leave the interface name blank to display status information for all ‘attached’ interfaces. |
|
int name |
To view status information for a specific ‘attached’ interface, indicate the appropriate interface name (e.g. en0). |
To view status information for all interfaces attached to this NetNAT, the command is:
ifconfig
To view status information for interface en0, the command is:
ifconfig en0
Shown below is an example from the interface status display for a public interface.
nscnat> ifconfig en0
en0 IP addr 204.17.3.5 MTU 1550 Link encap Ethernet
Link addr 00:20:af:d7:05:27, MC forwarding OK, 0 groups
trace 0x0 trclim 0 netmask 0xffffff00 broadcast 204.17.3.255
sent: ip=3314 tot=3316 pps=0.10 mpps=16.50 idle=0:00:00:09
recv: ip=3028 tot=5337 pps=0.20 mpps=11.70 idle=0:00:00:01
|
Meanings for the various fields will be shown after the next example.
ifconfig en1
Shown below is an example from the interface status display for a private interface. Besides the obviously private IP Address (from the 10-net), the word "Private" at the end of the first line is the giveaway.
nscnat> ifconfig en1
en1 IP addr 10.1.1.254 MTU 1550 Link encap Ethernet Private
Link addr 00:60:af:d7:35:2b, MC forwarding OK, 0 groups
trace 0x0 trclim 200 netmask 255.255.255.0 broadcast 10.1.1.255
sent: ip=3811 tot=3964 pps=0.20 mpps=11.50 idle=0:00:00:01
recv: ip=3751 tot=6379 pps=0.40 mpps=16.60 idle=0:00:00:09
|
Displayed Field Definitions
The displayed fields are as follows:
|
Field Name |
Description |
|
IP addr |
The main IP Address for the interface. If it’s a public interface, it may have lots of other IP Addresses that it will respond to. See the service mapping commands for more information. |
|
MTU |
The largest block this interface will transmit. |
|
Link encap |
The encapsulation in use on this interface, usually "Ethernet." |
|
Private |
Present to indicate a private or internal network. Missing represents a public interface. |
|
Link addr |
The hardware or "MAC" address of the interface card. |
|
MC |
The multicast capabilities of the interface. The possible capabilities:
|
|
groups |
When multicast is permitted, this shows the number of multicast groups that the NetNAT has detected via IGMP. |
|
trace |
The trace flags. Zero means no tracing active. Non-zero shows the flags used when the trace was started. See the ‘trace" command. |
|
trclim |
The number of packets at which the trace will stop automatically, or zero if this feature is disabled. |
|
netmask |
The netmask for this interface in dotted-decimal representation. |
|
broadcast |
The broadcast address for this interface. |
|
Interface visible… |
Present on private interfaces to remind you that a NetNAT with more than one private interface simply routes between those, providing no firewall protection. |
|
sent: |
Begins the transmit packet statistics line. |
|
recv: |
Begins the receive packet statistics line. |
|
ip= |
The total number of IP packets transmitted or received. |
|
tot= |
The total number of packets of any type sent or received. |
|
pps= |
The average packets per second for the most recent 10-second period. This is updated every ten seconds. |
|
mpps= |
The maximum pps so far: the largest value of pps seen since the NetNAT was started. |
|
idle= |
The time in days:hours:minutes:seconds since the last packet was sent or received. |
The ifconfig sub-commands set the parameters for each logical interface you create with the attach command. The ifconfig sub-commands are:
|
ipaddress |
Sets the apparent IP address for the Interface. |
|
netmask |
Sets the netmask for the network to which the NetNAT is connected. |
|
broadcast |
Sets the Broadcast Address for the network. |
|
private |
Sets the Private or Public designation for the network. |
|
Tracelimit |
Sets the maximum number of packet trace items before packet tracing is automatically stopped on the interface (to keep from filling all available disk space). |
You must issue appropriate ifconfig sub-commands for each interface you create with the attach command. Described below are the command syntax and parameters for each ifconfig sub-command.
The ifconfig ipaddress sub-command sets the apparent IP address for the specified network interface (e.g., en0).
ifconfig [int name] ipaddress [ip address]
|
Parameter Name |
Description |
|
Int name |
The name of the NetNAT logical interface (e.g. en0). |
|
IP Address |
The apparent IP Address for this interface in dotted-decimal notation. |
Possible responses are:
To set the IP address 123.234.222.17 for the logical interface en0, the command is:
ifconfig en0 ipaddress 123.234.222.17
The NetNAT uses the IP Address when:
ifconfig ... broadcast
The ifconfig broadcast sub-command sets the broadcast IP address for the specified interface (e.g., en0).
ifconfig [int name] broadcast [ip address]
|
Parameter Name |
Description |
|
Int name |
The name of the NetNAT logical interface (e.g. en0). |
|
IP Address |
The broadcast IP Address for this interface in dotted-decimal notation. |
Possible responses are:
To set the broadcast IP address 123.234.222.255 for the logical interface en0, the command is:
ifconfig en0 broadcast 123.234.222.255
When an interface is created by the attach command and given an IP Address by the ifconfig ipaddress sub-command, the broadcast address is set to the "all-ones" broadcast address for the combination of IP Address and netmask. In the example above, if the IP Address and netmask for interface en0 were 123.234.222.x and 255.255.255.0, the ifconfig broadcast sub-command would be unnecessary, since the NetNAT would have configured 123.234.222.255 as the broadcast address already. The explicit configuration of the broadcast address is not a "bad idea," since it makes very clear what you want the broadcast address to be.
The ifconfig netmask sub-command identifies the netmask for the network attached to the specified NetNAT interface (e.g., en0).
ifconfig [int name] netmask [netmask]
|
Parameter Name |
Description |
|
Int name |
The name of the NetNAT logical interface (e.g. en0). |
|
Netmask |
The 32-bit netmask for this interface in dotted-decimal notation (e.g., 255.255.255.0) |
Possible responses are:
To set the netmask for a non-segmented Class C network, for the logical interface en0, the command is:
ifconfig en0 netmask 255.255.255.0
All workstations, hosts, and routers use the 32-bit netmask to determine when two IP addresses are in the same logical network. All devices on a given network should use the same netmask value (e.g. 255.255.255.0).
Note: The NetNAT does not support ‘comb’ style netmasks. All one-bits in the netmask must be contiguous.
The ifconfig private sub-command indicates how the interface will handle network address translation.
ifconfig [int name] private [0|1|2]
Command Parameters 1
|
Parameter Name |
Description |
|
Int name |
The name of the NetNAT logical interface (e.g. en0). |
|
0|1|2 |
The optional values for the private parameter. 0 - This is a public network that uses IP addresses known to other public or Enterprise networks. 1 - This is a private network that will communicate directly with another private network and will not use address translation. 2 - This is a private network that should be concealed from other private networks as well as from public networks. |
Possible responses are:
To mark this interface as the public interface (the one that faces toward the Internet), the command is:
ifconfig en0 private 0
To mark this interface as one of your private interfaces (one that faces toward your internal Intranet), the command is:
ifconfig en0 private 1
To communicate with public networks using address translation and apparent IP addresses, concealing the actual IP address of the hosts on your private network, the command is:
The ifconfig tracelimit sub-command sets a maximum packet trace file size in an indirect way. The specified limit is number of traced packets. When running packet traces (captures) on this interface, the trace mechanism will stop tracing automatically when the specified number of packets have been traced. The trace file (if tracing to disk) will be closed for retrieval and examination.
ifconfig [int name] tracelimit [0 | number]
|
Parameter Name |
Description |
|
Int name |
The name of the NetNAT logical interface (e.g. en0). |
|
0 | number |
The number of packets or zero to remove the limit. |
Possible responses are:
To limit the number of captured packets to 200 on interface en0, the command is:
ifconfig en0 tracelimit 200
To remove a previously-imposed tracelimit, the command is:
ifconfig en0 tracelimit 0
The ifconfig vlan sub-command identifies an ethernet interface as a VLAN Trunk. As such, it may have sub-interfaces that appear to be separate ethernet interfaces in separate subnets. See the attach vlan command for the mechanism used to create sub-interfaces.
ifconfig [int name] vlan [0 | 1]
|
Parameter Name |
Description |
|
Int name |
The name of the NetNAT logical interface (e.g. en0). |
|
0 | 1 |
A flag to indicate true or false. 1 means true. |
Possible responses are:
The igmp status command displays the contents of the IGMP "MIB" (the SNMP Management Information Block containing the IGMP statistics). IGMP is the Internet Group Management Protocol, which controls the forwarding of multicast IP traffic through routers. It is used to detect and maintain lists of multicast groups on each interface of a router (or in this case, of the NetNAT). If IP Multicast Forwarding is enabled, multicast messages from a group on one interface are forwarded out other interfaces that also have members of that group. Multicast forwarding is by default disabled on the NetNAT. Enabling it will permit multicast traffic to pass through your NetNAT Firewall, and may constitute a breach of network security. Please give this careful thought.
|
igmp status |
Display the IGMP statistics as maintained in the IGMP MIB. |
|
igmp forward {on|off} |
Display and optionally modify the state of the Multicast Forwarding switch. |
|
igmp trace {on|off} |
Display and optionally modify the state of the IGMP trace flag. |
Depends on the subcommand.
Possible responses to the IGMP status command are:
nscnat> igmp status ( 1)igmpInMsgs 0 ( 8)igmpOutMsgs 0 ( 2)igmpInErrors 0 ( 9)igmpOutErrors 0 ( 3)igmpInBcsts 0 (10)igmpOutBcsts 0 ( 4)igmpInQueries 0 (11)igmpOutQueries 0 ( 5)igmpInV1Reports 0 (12)igmpOutV1Reports 0 ( 6)igmpInV2Reports 0 (13)igmpOutV2Reports 0 ( 7)igmpInLeaves 0 (14)igmpOutLeaves 0 nscnat> _ |
The igmp forward command displays and may modify the state of the IP Multicast Forwarding switch. Enabling Multicast Forwarding will cause multicast messages to be forwarded through your NetNAT under control of the Internet Group Management Protocol (IGMP). This is disabled by default. We recommend that you give careful thought to the impact on network security of enabling this function.
igmp forward {on|off}
|
Parameter Name |
Description |
|
on | true | yes | 1 |
Enable forwarding of Multicast traffic between IGMP Multicast Groups on NetNAT interfaces. |
|
off | false | no | 0 |
Disable forwarding of Multicast traffic between IGMP Multicast Groups on NetNAT interfaces. |
There is no response when the command parameters are correct.
The igmp trace command displays and may modify the state of the IGMP Event Tracing switch. Enabling IGMP tracing will cause Internet Group Management Protocol (IGMP) messages (like group queries and membership reports) to be decoded and displayed on the NetNAT console for diagnostic or educational purposes. This is disabled by default.
igmp trace {on|off}
|
Parameter Name |
Description |
|
on | true | yes | 1 |
Enable decoding and display of IGMP messages on the NetNAT console. |
|
off | false | no | 0 |
Disable decoding and display of IGMP messages on the NetNAT console. |
There is no response when the command parameters are correct.
The ip commands display or modify some aspect of the NetNAT’s handling of IP packets. The interesting one is ip status which displays the contents of the IP "MIB" (the SNMP Management Information Block containing the IP statistics).
ip status
None.
Possible responses are:
nscnat> ip status
( 1)ipForwarding 1 ( 2)ipDefaultTTL 255
( 3)ipInReceives 3523 ( 4)ipInHdrErrors 8
( 5)ipInAddrErrors 0 ( 6)ipForwDatagrams 3272
( 7)ipInUnknownProtos 0 ( 8)ipInDiscards 0
( 9)ipInDelivers 242 (10)ipOutRequests 322
(11)ipOutDiscards 0 (12)ipOutNoRoutes 0
(13)ipReasmTimeouts 30 (14)ipReasmReqds 0
(15)ipReasmOKs 0 (16)ipReasmFails 0
(17)ipFragOKs 0 (18)ipFragFails 0
(19)ipFragCreates 0
Routing lookups: 5669, cache hits 5662 (100%)
nscnat>
|
ipInReceives shows the number of inbound IP packets that the NetNAT has received, ipInHdrErrors contains the number of header format or checksum errors seen, ipForwDatagrams counts packets forwarded through the NetNAT (whether translated or not), ipInDelivers and ipOutRequests shows packets either were accepted for local processing or that originated in the NetNAT.
The memory commands display or modify the characteristics and status of the memory heap and network controller interrupt circular buffer. The sub-commands are:
|
memory freelist |
Display the free areas of heap memory. |
|
memory sizes |
Displays the sizes of requested memory buffers, including special message buffers. |
|
memory status |
Display the heap size, available heap memory, message buffer allocation info and other data. |
The memory freelist sub-command displays the status of the memory heap free memory list. This shows the blocks of memory that are available for allocation to NetNAT processes. The NetNAT allocator tries to combine freed memory blocks into larger blocks to reduce fragmentation of the heap.
|
memory freelist |
Display the free areas of heap memory. |
nscnat> memory freelist 7b910000 16 | 7c2f0000 32 | 7c380008 96 | 7c4b0008 104 7c5f0000 64 | 7dae0008 152 | 7dc60000 32 | 7e280008 624 7e710008 1032 | 7efc0008 584 | 7f6a0008 1576 | 80cd0008 10664 85e30000 4008 | nscnat> |
The memory sizes sub-command displays a bucket-style (histogram) summary of the sizes of memory buffers that have been requested by the NetNAT processes. This is purely informational, and allows the programmer to find frivolous heap users
|
memory sizes |
Display a summary of the sizes of memory buffers requested by the NetNAT processes. |
nscnat> memory sizes N>= 1: 0| N>= 2: 0| N>= 4: 31| N>= 8: 156 N>= 16: 633| N>= 32: 363| N>= 64: 236| N>= 128: 34 N>= 256: 229| N>= 512: 279| N>= 1024: 113| N>= 2048: 43 N>= 4096: 8| N>= 8192: 0| N>=16384: 0| N>=32768: 0 nscnat> |
The memory status sub-command a bucket-style (histogram) summary of the sizes of memory buffers that have been requested by the NetNAT processes. This is purely informational, and allows the programmer to find frivolous heap users
|
memory status |
Display a summary of the memory allocator statistics |
nscnat> memory status
heap size 91920 avail 28832 (31%) morecores 110 coreleft 88656
allocs 2000 frees 1823 (diff 177) alloc fails 0 invalid frees 0
garbage collections yellow 0 red 0
mbuf allocs 13838 free cache hits 13817 (99%) mbuf frees 13837
pushdown calls 23967 pushdown calls to alloc_mbuf 3210
Free cache: small 8 medium 3 large 9
nscnat> _
|
The first line shows the total size, the amount of heap memory available in bytes and as a
percentage of the total heap size, and the amount of memory left over (i.e. not placed on the heap at startup) and therefore available for shell subcommands.
The second line shows the total number of calls to allocate and free blocks of memory, the difference of these two values (i.e. the number of allocated blocks outstanding), the number of
allocation requests that were denied due to lack of memory, and the number of calls to 'free' that attempted to free garbage (e.g. by freeing the same block twice or freeing a garbled pointer).
The third line shows the "garbage collection" status. Garbage collection is a last-ditch process to reclaim as much memory as possible when we’re in trouble.
An "mbuf" is a specialized memory buffer for network messages. There are just three sizes of mbufs, and an mbuf request is rounded up to the next larger size. The reason for this is twofold: to keep from fragmenting memory with allocations of various sizes of buffers, and to make allocation and release of message buffers very efficient. Once an mbuf has been created, it is not freed back to the heap, but is rather chained onto one of three mbuf queues (based on size). When the network process needs an mbuf, the alloc_mbuf routine looks on the queues (called the mbuf caches) for one. If none are found there, the normal heap allocator is called to create a new one.
The fourth line contains information about the mbuf allocation process. The total number of allocations (allocs) is shown, as well as the number of times that we looked for an mbuf and found one on the "free cache" (the queue that we keep mbufs on when they’re not in use). The number of mbuf frees is shown as well.
"Pushdowns" are where we need to put information (usually headers) on the front of an existing message. If the mbuf containing the message has sufficient room in front of the message data, then the information may be placed in the existing mbuf. We try very hard to make this work this way, since having to allocate a buffer to hold the new information is very inefficient.
The fifth line contains pushdown information. The first part shows the number of pushdowns we have used. Pushdowns are an integral part of our system, so we should see lots. The next part contains the number of times that a pushdown call resulted in a call to alloc_mbuf to create a new buffer. This is very inefficient, so we strive to prevent it. It’s not awful, so don’t be alarmed if the number is large. It should be a tiny fraction of the total number of pushdowns.
The last line give us the total available mbufs in the three sizes that we use. Small mbufs will hold up to 32 bytes of data. Medium mbufs will hold up to 128 bytes, while the large ones will hold up to 2048 bytes. The number of free mbufs in each size is shown on the last line. The total number in existence will not be shown. It’s important to remember that we can create new mbufs from the heap. It’s also important to remember that we can add to the heap from the PC’s memory.
The mkdir command creates an MS-DOS directory with the specified name.
|
mkdir [name] |
Make the specified directory. |
More is a file pager, not unlike the unix "more" or an enhanced version of the MS-DOS "more" facility. More creates a new console window that shows the contents of the requested file, and allows you to scroll up and down through it. To exit the more window, type q or control-C.
|
more [filename] |
Display a file in a scrolling window. |
The normal PC PgUp, PgDn, Home, End, and up-down arrow keys let you scroll around in the specified file. Dedicated emacs and vi addicts will be pleased to discover that their favorite up-down line keys (and a few others) also work with the more command.
"Page" provides you a unix-like facility to execute a command and pipe its output to a pager. Page creates a new console window that shows the output of the executed command, and allows you to scroll up and down through it. To exit the page window, type q or control-C.
|
page [command] |
Execute the specified NetNAT command and pipe the output to a pager in a new console window. |
For a discussion of the key-bindings for page up/down, etc., please refer to the more command section.
The ping command sends an ICMP echo request packet to the specified destination host. The round-trip-time is displayed when the response packet returns. If no response returns, there is no displayed result. Ping spawns a subtask to perform DNS lookup and response capture, so may not be run from a web browser command.
ping [host] {length {interval {incflag}}}
|
Parameter Name |
Description |
|
host |
Name or IP Address of target host to ping. |
|
length |
Length in bytes of the data section of the ping (default is 64). |
|
interval |
Interval between pings when you wish the NetNAT to ping until interrupted, expressed in milliseconds (1000 equals one second). |
|
incflag |
If present will cause the NetNAT to increment the host IP Address after each ping, resulting in the pinging of a range of hosts. |
nscnat> ping 10.1.1.6 10.1.1.6: rtt 9 nscnat> _ |
The pptp command displays any PPTP connections that are passing through the NetNAT at this time.
pptp
None.
nscnat> pptp
Interface en0: 5 Connections
10.1.1.22 posing as 133.19.76.3 talking to 204.17.96.3
p_in 101, p_out 100, b_in 12044, b_out 10771
10.1.1.19 posing as 133.19.76.3 talking to 167.16.116.9
p_in 2101, p_out 2375, b_in 37115, b_out 39621
10.3.55.36 posing as 133.19.76.3 talking to 18.121.3.72
p_in 4496, p_out 6432, b_in 20805, b_out 69927
10.4.101.1 posing as 133.19.76.4 talking to 138.121.37.15
p_in 15128, p_out 15011, b_in 7840, b_out 98866
10.7.13.7 posing as 133.19.76.5 talking to 192.155.133.44
p_in 1812, p_out 1900, b_in 9125, b_out 122873
nscnat> _
|
There will be no displayed information if there are no active PPTP connections. When active PPTP connections exist, the actual IP Address of a computer, its apparent IP Address and the address of the remote computer will be displayed as above, plus counts of packets in and out, and byte counts in and out.
There may not be two connections with identical combinations of apparent and remote addresses. If you need more than one connection to a single remote computer, you should manipulate your NetNAT configuration to force a different apparent IP Address for the internal computer desiring the PPTP connection (see the service subnet command).
The private command displays the current dynamically-created sessions between computers in your private Intranet and computers on the outside. Displayed information includes the actual internal IP Address and port number, the apparent IP Address and port number, the remote IP Address and port number, the protocol in use (TCP, UDP or ICMP), and the current status of the session.
private
None.
To view all the current session information, the command is:
nscnat> private prot Real IP.port Posing as IP.port Dest IP.port Status ICMP 10.1.1.6:0 204.162.22.9:0 167.16.122.8:0 Dying UDP 10.1.1.6:1900 204.162.22.9:2076 113.6.81.38:53 Dying TCP 10.2.22.3:2511 204.162.22.9:2052 207.16.33.9:23 Active TCP 10.2.22.3:2512 204.162.22.9:2099 207.16.33.9:23 Old nscnat> _ |
|
Prot |
The protocol: ICMP, TCP or UDP. |
|
Real IP.port |
The actual IP Address and port number being used by the internal client computer. |
|
Posing as IP.port |
The apparent IP Address and port number as viewed from the outside. |
|
Dest IP.port |
The IP Address and port number of the server at the remote location. |
|
Status |
The current status of this session. |
The status displayed may mean different things for different protocols. The rules that make a session’s status change from one state to another are many. In addition, the private command has a sub-command to set the idle timeout for an "old" session. This idle timeout is the time that a session of a particular type (UDP or TCP) is allowed to exist with no activity. When the timer expires, the session is released. The states and their meanings are:
|
Active |
The session has seen message activity within the last 10 seconds. |
|
Dying |
The session meets the qualifications to be released. If it sees no more activity in the next 10 seconds, it will disappear. |
|
Old |
The session has seen no activity within the past 10 seconds. Its idle timer is now running so that it may eventually be released after a reasonable amount of time. |
ICMP sessions are generally single-packet events, so are marked as "dying" immediately. TCP sessions that have passed packets with either the RST or FIN flags set are marked as "dying" immediately. In either case, continued activity will "push out" the 10-second timeout that releases them. SNMP trap and GET/Response sessions that the NetNAT translates are marked as dying. Doing this for this group of packets keeps our session usage low with a corresponding reduction in overhead.
The private idle sub-command to set the release timeout for TCP and UDP sessions is described in the next section.
The private idle sub-command sets the release timeouts for UDP and TCP sessions. When no activity has occurred on a UDP or TCP session for this amount of time, the session context object will be released. The "service" subcommand controls idle timeouts on internal servers that are mapped into public addresses for external use. See the next page for a discussion of that variant.
private idle [TCP|UDP|SERVICE] [timeout] {port}
|
Parameter Name |
Description |
|
TCP | UDP |
The protocol timer to be set (TCP or UDP). |
|
SERVICE |
Set idle timeout for inbound mapped services (TCP only). |
|
timeout |
The timeout in seconds for this protocol. The value entered will be rounded upward to the next 10-second multiple. |
|
port |
This may be used to specify a timeout value for a particular TCP or UDP service that is different from the global timeout value for that protocol. For example, you may wish to extend the idle timeout for telnet users beyond the global idle timeout, to reduce the number of times they are disconnected due to inactivity. The command "private idle tcp 7200 23" will set the idle timeout for the telnet service (service 23) to 7200 seconds (2 hours). This command variant may also be used to reduce the idle timeout for a specific TCP service. |
nscnat> private idle Idle Timeouts: TCP: 3600 sec, UDP: 70 sec, TCP Ser: 3600 sec nscnat> private idle udp 85 Idle Timeouts: TCP: 3600 sec, UDP: 90 sec, TCP Ser: 3600 sec nscnat> private idle tcp 5400 23 Idle Timeouts: TCP: 3600 sec, UDP: 90 sec, TCP Ser: 3600 sec TCP port 23: 5400 seconds, 0 uses nscnat> _ |
You will note in the example, that "private idle" with no additional parameters will display the current settings. Disconnects caused by a per-port idle timeout are counted by service, with the number of disconnects displayed with the other information.
The private idle service sub-command differs from the TCP and UDP versions, in that the others set the idle timeout for internal clients accessing external servers, while this one sets the idle timeout for external clients accessing internal servers that have been mapped for external use.
private idle SERVICE [timeout] {port}
|
Parameter Name |
Description |
|
SERVICE |
Set idle timeout for inbound mapped services (TCP only). |
|
timeout |
The timeout in seconds for this protocol. The value entered will be rounded upward to the next 10-second multiple. |
|
port |
This may be used to specify a timeout value for a particular TCP service that is different from the global timeout value for all mapped servers. For example, you will wish to shorten the idle timeout for HTTP users to 30 seconds, and that of FTP users to 300 seconds. You may wish to lengthen the timeout for telnet users, if they are complaining about being disconnected prematurely. |
nscnat> private idle Idle Timeouts: TCP: 3600 sec, UDP: 70 sec, TCP Ser: 3600 sec nscnat> private idle tcp 30 80 Idle Timeouts: TCP: 3600 sec, UDP: 90 sec, TCP Ser: 3600 sec TCP port 80: 30 seconds, 0 uses (service) nscnat> private idle tcp 300 21 Idle Timeouts: TCP: 3600 sec, UDP: 90 sec, TCP Ser: 3600 sec TCP port 21: 300 seconds, 0 uses (service) TCP port 80: 30 seconds, 0 uses (service) nscnat> _ |
You will note in the example, that "private idle" with no additional parameters will display the current settings. Disconnects caused by a per-port idle timeout are counted by service, with the number of disconnects displayed with the other information.
Note that only FTP needs a dynamic session when using port or default mapping. In Subnet Mode 3 mapping, FTP, telnet and traceroute get dynamic sessions.
The ps command displays the status of all processes running in the NetNAT.
ps
None.
nscnat> ps ksigs 323327 queued 161329 hiwat 3 woken 322879 nops 4479 dups 309 kwaits 703145 nops 1014261 from int 0 PID SP stksize event fl in out name 32a580 34a69c 32768 329fa0 IW Cpanel listener 98fe8 200e6c 32768 99270 IW en0 tx 229090 2491fc 32768 221140 IW en1 tx 971b0 17904c 32768 54f5c IW network 98870 f9028 32768 0 I display 96ff0 199058 32768 0 I keyboard 98870 96a64 32768 0 I cmdintrp nscnat> _ |
On the first line of displayed output:
|
ksigs |
Number of calls to ksignal to awaken a task. |
|
queued |
Ksignal calls that were queued because interrupts were masked. |
|
hiwat |
The deepest the queue has been since startup. |
|
woken |
Number of times processes have been awakened. |
|
nops |
Ksignal calls that didn’t awaken anything. |
|
dups |
Ksignal calls that were duplicates. |
On the second line of displayed output:
|
kwaits |
Number of calls to kwait to relinquish control or wait for an event. |
|
nops |
Kwait calls that didn’t result in the calling process blocking. |
|
from int |
Kwait calls made from interrupt level (an error). |
In the individual process display section:
|
PID |
The address of the entrypoint of this process. |
|
SP |
The address of the stack for this process. |
|
stksize |
The size of the stack for this process. |
|
event |
The address of the word used by ksignal and kwait to dispatch this process. |
|
fl |
Flags of I (interrupt state), W (waiting) and/or S (suspended). |
|
in |
File descriptor number for an input socket if any. |
|
out |
File descriptor number for an output socket if any. |
|
name |
The process’ name. |
A process that is currently running will have an event of zero. Any time you display process status, the processes display, keyboard and cmdintrp will be running, since they are displaying your output. Other processes that seem always to be running may be looping. For example; If the "en1 rx" process is always running, then the receiver for ethernet 1 is probably in trouble in one way or another. If you are not experiencing operational problems, then the problem may not be a real problem. If you are, however, you may wish to make note of the conditions and symptoms and contact customer support for advice.
The pwd command displays the path of the current working directory. This is just like the unix pwd command or the MS-DOS cd command (with no parameters). The working directory may be changed by use of the cd command.
pwd
None.
nscnat> pwd c:/netnat nscnat> _ |
The rename command renames a file in the NetNAT’s DOS filesystem. This is just like the MS-DOS rename command.
rename [old name] [new name]
None other than the file names.
The repeat command spawns a new console window and repeats a NetNAT command at intervals specified. This is very useful in watching interface or session activity, and memory utilization.
repeat [interval] [NetNAT command with parameters]
|
Parameter Name |
Description |
|
interval |
The command repeat interval expressed in milliseconds (1000 equals one second). |
|
NetNAT command |
The complete NetNAT command with any parameters required by that the command. |
repeat 1000 memory status
This command example will update a window displaying the current memory status every second. Toggle through the various console windows with the F8 function key. Terminate a repeat command session with control-C.
The route IP routing command displays static information about each route known to the NetNAT (e.g., the IP Address of a destination host or network). The route sub-commands (see Additional Information below) allow you to add or delete the NetNAT’s knowledge of a specific route.
route
None.
To view all the route information known by this NetNAT, the command is:
nscnat> route Dest Len Interface Gateway Metric P Timer Use 10.1.1.255 32 en1 1 P 0 0 133.19.76.255 32 en0 1 P 0 0 10.1.1.0 24 en1 0 0 159622 133.19.76.0 24 en0 0 0 209331 10.0.0.0 8 en1 10.1.1.253 1 0 87311 default 0 en0 133.19.76.1 1 0 178334 nscnat> _ |
|
Dest |
Destination network, host or broadcast address, or default. |
|
Length |
Length in bits of the netmask for this destination (24 bits is the same as the netmask 255.255.255.0). |
|
Interface |
The name of the interface to use to reach the specified destination. |
|
Gateway |
The IP Address of the next hop in the direction of the specified destination, if needed. |
|
Metric |
Whether "hops" are required to reach the destination. |
|
P |
"P" says that this route will not be published. |
|
Timer |
Time until this route expires (in seconds). |
|
Use |
Number of uses of this route. |
The route sub-commands inform the NetNAT about default and static routing information needed for your private network to gain access to internet and other remote hosts or networks. The route sub-commands are:
|
add default |
Sets the IP address and netmask for the NetNAT’s default gateway to the Internet |
|
add |
Sets the IP address and netmask for routing traffic between the NetNAT and another specific private or public network. If the NetNAT is running a "routing protocol" process (like "RIP"), this route will be published to other computers on the LAN. |
|
addprivate |
Sets the IP address and netmask for routing traffic between the NetNAT and another specific private or public network. If the NetNAT is running a "routing protocol" process (like "RIP"), this route will not be published to other computers on the LAN. |
|
drop |
Removes a selected routing table entry. |
|
flush |
Removes any routing table entries that were learned by a dynamic routing protocol process. |
|
lookup |
Display the route that would be used by the NetNAT to attempt to reach a specified destination host address. |
|
tunnel |
Create or modify a route and define a form of tunnel to be used on that route. |
Described below are the command syntax and parameters for each route sub-command.
The route add default sub-command sets the IP address and netmask for the gateway the NetNAT will use when routing traffic to the Internet or to any other network for which explicit routing information is not known.
route add default [int name] [gateway]
int name The name of a NetNAT logical interface on the default network (e.g., en0).
gateway The IP Address of the default gateway on that network.
|
Parameter Name |
Description |
|
int name |
The name of a NetNAT logical interface on the default network (e.g., en0). |
|
gateway |
The IP Address of the default gateway on that network. |
To set the default gateway to the internet on the NetNAT logical interface en0 with an IP address of 204.79.22.15, the command is:
route add default en0 204.79.22.15
The NetNAT uses the default route in the absence of other routing information. For any LAN segment that uses a router for connecting to the global internet, that router is the default route or gateway to the Internet for the entire LAN. All messages from the LAN that are addressed to the Internet will be directed to that router for subsequent delivery.
In most cases, the NetNAT is installed between your Internet access router and your internal network. You should set the NetNAT’s default route to the IP Address of your Internet access router’s ethernet port.
Since the NetNAT appears to your internal network as an Internet access router, the hosts and workstations on your LAN should be configured with the IP Address of the private ethernet port of the NetNAT, unless your network is additionally subnetted.
The route add sub-command sets the IP address and netmask for routing messages between your private local network and another specific private or public network. It also may enable one or more types of Virtual Private Network support.
route add [dest net] [int name] [gateway]
|
Parameter Name |
Description |
|
dest net |
The network IP Address/Netmask for a specific destination. Use NSC notation (network/#bits) as described in appendix. |
|
int name |
The name of the NetNAT logical interface to use when sending message to that destination. |
|
gateway |
The IP Address of the gateway that is the next hop in the direction of the specified destination. |
To create a static route to another network with the IP address 140.63.33 and a netmask of 255.255.255.0 (#bits = 24), using the NetNAT logical interface en0 and the gateway IP address 204.79.22.16, the command is:
route add 140.63.33/24 en0 204.79.22.16
A static route specifies a direct route to a given network. Without this explicit route information, the NetNAT will try to reach that network via the defined "default" route. For example, a network with an Internet connection and a dedicated link to an associated organization's network would have a "default" pointing to the Internet, and a static route (for the other network) pointing to the dedicated link.
The route addprivate sub-command is exactly like the route add sub-command, except that the routing table entries created are never advertised by the NetNAT to other computers.
route addprivate [dest net] [int name] [gateway]
|
Parameter Name |
Description |
|
dest net |
The network IP Address/Netmask for a specific destination. Use NSC notation (network/#bits) as described in appendix. |
|
int name |
The name of the NetNAT logical interface to use when sending message to that destination. |
|
gateway |
The IP Address of the gateway that is the next hop in the direction of the specified destination. |
Please see examples from the previous section.
The route sub-command addprivate ensures that the NetNAT does not advertise this route if you start a routing protocol. Due to the complexity of configuring the routing protocols, we recommend that you DO NOT start one on the NetNAT. Feel free to run them on your other routers.
The route drop sub-command causes the NetNAT to delete a specified routing table entry. The parameters you used to create the entry should be used on the drop sub-command, to make it possible for the NetNAT to locate the entry you wish to delete.
route drop [dest net] [int name] [gateway]
|
Parameter Name |
Description |
|
dest net |
The network IP Address/Netmask for a specific destination. Use NSC notation (network/#bits) as described in appendix. |
|
int name |
The name of the NetNAT logical interface to use when sending message to that destination. |
|
gateway |
The IP Address of the gateway that is the next hop in the direction of the specified destination. |
nscnat> route Dest Len Interface Gateway Metric P Timer Use 10.1.1.255 32 en1 1 P 0 0 133.19.76.255 32 en0 1 P 0 0 10.1.1.0 24 en1 0 0 159622 133.19.76.0 24 en0 0 0 209331 10.0.0.0 8 en1 10.1.1.253 1 0 87311 default 0 en0 133.19.76.1 1 0 178334 nscnat> route drop 10.0.0.0/8 en1 10.1.1.253 nscnat> route Dest Len Interface Gateway Metric P Timer Use 10.1.1.255 32 en1 1 P 0 0 133.19.76.255 32 en0 1 P 0 0 10.1.1.0 24 en1 0 0 159622 133.19.76.0 24 en0 0 0 209331 default 0 en0 133.19.76.1 1 0 178334 nscnat> _ |
The route flush sub-command causes the NetNAT to delete any routes that were learned by way of a dynamic routing process (like RIP).
route flush
none
nscnat> route Dest Len Interface Gateway Metric P Timer Use 10.1.1.255 32 en1 1 P 0 0 133.19.76.255 32 en0 1 P 0 0 10.1.1.0 24 en1 0 0 159622 133.19.76.0 24 en0 0 0 209331 10.0.0.0 8 en1 10.1.1.253 1 27 87311 default 0 en0 133.19.76.1 1 0 178334 nscnat> route flush nscnat> route Dest Len Interface Gateway Metric P Timer Use 10.1.1.255 32 en1 1 P 0 0 133.19.76.255 32 en0 1 P 0 0 10.1.1.0 24 en1 0 0 159622 133.19.76.0 24 en0 0 0 209331 default 0 en0 133.19.76.1 1 0 178334 nscnat> _ |
In this example, the route to the remainder of your intranet (the rest of 10.x.x.x) was initially "learned" by the NetNAT (as shown by a non-zero timer value). After the flush sub-command was executed, that route vanished from the routing table. If you are running a dynamic routing process on the NetNAT, the route will probably return shortly.
The route lookup sub-command results in a look-up of the specified host, and determination of the route that would be taken to attempt to access that host.
route lookup [dest host]
|
Parameter Name |
Description |
|
dest host |
The IP Address of a destination host or workstation. |
nscnat> route Dest Len Interface Gateway Metric P Timer Use 10.1.1.255 32 en1 1 P 0 0 133.19.76.255 32 en0 1 P 0 0 10.1.1.0 24 en1 0 0 159622 133.19.76.0 24 en0 0 0 209331 10.0.0.0 8 en1 10.1.1.253 1 0 87311 default 0 en0 133.19.76.1 1 0 178334 nscnat> route lookup 138.113.17.112 default 0 en0 133.19.76.1 1 0 178334 nscnat> route lookup 10.2.99.6 10.0.0.0 8 en1 10.1.1.253 1 0 87311 nscnat> _ |
The route split sub-command controls the split-horizon behaviour of the NetNAT. In a split-horizon situation, a packet arrives on an interface and would be routed back out the same interface. This is a normal router function for complex networks and simple clients. In addition to re-directing the packet back out to the proper next hop, an ICMP Host Re-direct message would be sent by the NetNAT or other router to the originator, in an attempt to correct what appears to be a routing misunderstanding. A properly-behaving client IP stack will create a dynamic routing entry and send all future messages to the correct destination, rather than bouncing them off of the NetNAT. The route split sub-command allows the administrator to disable this function.
The main circumstance that demands the disabling of the normal split-horizon functions is when a network has a default gateway router that is not the NetNAT, and that gateway has network routes to the NetNAT for networks that the NetNAT does not believe it has. In this case, a message sent to the default gateway for one of these addresses will result in an ICMP re-direct and re-directed packet storm. For example, a ping to one of those addresses would result in the ping packet bouncing between the NetNAT and default gateway until the Time-To-Live value counts down, plus the transmission of one ICMP re-direct packet for each bounce, and an ICMP TTL-exceeded. One ping becomes (2 * TTL) + 1 packets on the net.
route split [on|off]
|
Parameter Name |
Description |
|
on | true | yes | 1 |
Enable forwarding of split-horizon packets and the transmission of ICMP Re-directs. |
|
off | false | no | 0 |
Disable forwarding of split-horizon packets and the transmission of ICMP Re-directs. |
There is no response when the command parameters are correct.
The route tunnel sub-command creates an encapsulated Virtual Private Network (VPN) connection to a remote site. Messages from your local private LAN that are to go to the specified remote network will be encapsulated and sent via a tunnel to the other site. The type of encapsulation used on the tunnel depends on a "mode" parameter. The IP Addresses within the tunneled messages are not translated when this form of VPN is in effect.
route tunnel [dest net] [int] [gateway] [mode] {spi}
|
Parameter Name |
Description |
|
|
dest net |
The network IP Address/Netmask for a specific destination. Use NSC notation (network/#bits) as described in appendix. |
|
|
int |
The name of the NetNAT interface that should be used to reach the remote site. This may be an alias interface. |
|
|
gateway |
The IP Address of a compatible VPN gateway device (such as another NetNAT) corresponding to the other end of the VPN tunnel. |
|
|
mode |
The type of tunnel to be created. Examples are:
| |
|
spi |
The Security Parameter Index when using mode e or a. This corresponds to a Security Association, which defines the encryption keys to be used. (See the command "secure add") |
To create an RFC 2003 IP-IP VPN tunnel to another network with the IP address 140.63.33 and a netmask of 255.255.255.0 (#bits = 24), using the compatible gateway IP address 204.79.22.16, the command is:
route tunnel 140.63.33/24 en0 204.79.22.16 i
The firewall features of the NetNAT prevent the acceptance of VPN traffic that has not been explicitly enabled by command. In addition, inbound Encapsulated VPN messages arriving from a known gateway containing packets from a network other than one specified by command are rejected by the NetNAT. To add more remote networks via the same gateway, use additional route tunnel commands.
The route tunnel … i sub-command creates a IP-in-IP Encapsulation Virtual Private Network (VPN) connection to a remote site. Messages from your local private LAN that are to go to the specified remote network will be encapsulated and sent via an RFC 2003-compliant tunnel. The IP Addresses within the tunneled messages are not translated when this form of VPN is in effect.
route tunnel [dest net] [int] [gateway] i
|
Parameter Name |
Description |
|
dest net |
The network IP Address/Netmask for a specific destination. Use NSC notation (network/#bits) as described in appendix. |
|
int |
The name of the NetNAT interface that should be used to reach the gateway at the other end of the VPN tunnel. |
|
gateway |
The IP Address of a compatible VPN gateway device (such as another NetNAT) corresponding to the other end of the VPN tunnel. |
|
i |
Mode i (or I) is for IP-in-IP VPN technology. |
To create an RFC 2003 VPN tunnel to another network with the IP address 140.63.33 and a netmask of 255.255.255.0 (#bits = 24), using the compatible gateway IP address 204.79.22.16, the command is:
route tunnel 140.63.33/24 en0 204.79.22.16 i
The firewall features of the NetNAT prevent the acceptance of VPN traffic that has not been explicitly enabled by command. In addition, inbound IP-IP Encapsulation VPN messages from a known gateway containing packets from a network other than one specified by command are rejected by the NetNAT. To add more remote networks via the same gateway, use additional route tunnel … i commands.
This mode of tunneling is compatible with Cisco's tunnel mode nos.
The route tunnel … m sub-command creates an RFC 2004 Minimal Encapsulation Virtual Private Network (VPN) connection to a remote site. Messages from your local private LAN that are to go to the specified remote network will be encapsulated and sent via an RFC 2004-compliant tunnel. The IP Addresses within the tunneled messages are not translated when this form of VPN is in effect.
route tunnel [dest net] [int] [gateway] m
|
Parameter Name |
Description |
|
dest net |
The network IP Address/Netmask for a specific destination. Use NSC notation (network/#bits) as described in appendix. |
|
int |
The name of the NetNAT interface that should be used to reach the gateway at the other end of the VPN tunnel. |
|
gateway |
The IP Address of a compatible VPN gateway device (such as another NetNAT) corresponding to the other end of the VPN tunnel. |
|
M |
Mode M is for Minimal Encapsulation Protocol. |
To create an RFC 2004 Mincap VPN tunnel to another network with the IP address 140.63.33 and a netmask of 255.255.255.0 (#bits = 24), using the compatible gateway IP address 204.79.22.16, the command is:
route tunnel 140.63.33/24 en0 204.79.22.16 m
The firewall features of the NetNAT prevent the acceptance of VPN traffic that has not been explicitly enabled by command. In addition, inbound Minimal Encapsulation VPN messages from a known gateway containing packets from a network other than one specified by command are rejected by the NetNAT. To add more remote networks via the same gateway, use additional route tunnel … m commands.
The route tunnel … e sub-command creates an RFC 1827 Encapsulation Security Payload Virtual Private Network (VPN) connection to a remote site. Messages from your local private LAN that are to go to the specified remote network will be encapsulated and sent via an RFC 1825/1827-compliant tunnel. The IP Addresses within the tunneled messages are not translated when this form of VPN is in effect.
route tunnel [dest net] [int] [gateway] e [spi]
Command Parameters
|
Parameter Name |
Description |
|
dest net |
The network IP Address/Netmask for a specific destination. Use NSC notation (network/#bits) as described in appendix. |
|
int |
The name of the NetNAT interface that should be used to reach the gateway at the other end of the VPN tunnel. |
|
gateway |
The IP Address of a compatible VPN gateway device (such as another NetNAT) corresponding to the other end of the VPN tunnel. |
|
e |
Mode e (or E) for the ESP Tunneling. |
|
spi |
Decimal number corresponding to the Security Parameters Index (see secure add) which defines the keys to use in ESP CBC-DES enryption and AH authentication. |
To create an RFC 1827 ESP VPN tunnel to another network with the IP address 140.63.33 and a netmask of 255.255.255.0 (#bits = 24), using the compatible gateway IP address 204.79.22.16 and the SPI of 1199, the command is:
route tunnel 140.63.33/24 en0 204.79.22.16 e 1199
The firewall features of the NetNAT prevent the acceptance of VPN traffic that has not been explicitly enabled by command. In addition, inbound ESP Encapsulation VPN messages from a known gateway containing packets from a network other than one specified by command are rejected by the NetNAT. To add more remote networks via the same gateway, use additional route tunnel … e commands.
ESP tunneling is an integral part of IPSEC as preliminarily described in RFC 1825 and being discussed in IETF work groups.
The route tunnel … a modifying sub-command adds an RFC 1826 Authentication Header to packets being tunneled via another tunneling mechanism. The result is the authentication of the sender, something that some of the tunneling protocols do not do. There is some level of authentication in the ESP tunnel, in that the originator would need to know the 56-bit DES key to be able to create valid messages. The "a" modifier may be added to any of the other tunneling modes.
route tunnel [dest net] [int] [gateway] [e|i|m] a [spi]
Command Parameters
|
Parameter Name |
Description |
|
dest net |
The network IP Address/Netmask for a specific destination. Use NSC notation (network/#bits) as described in appendix. |
|
int |
The name of the NetNAT interface that should be used to reach the gateway at the other end of the VPN tunnel. |
|
gateway |
The IP Address of a compatible VPN gateway device (such as another NetNAT) corresponding to the other end of the VPN tunnel. |
|
e or i or m |
The mode of the tunneling that we are modifying to include an Authentication Header. AH works with any tunneling mode, but is most frequently found associated with the ESP mode. Together they constitute the IPSEC IP Security facility. |
|
a |
Mode modifier "a" adds an Authentication Header to the tunneled message. |
|
spi |
Decimal number corresponding to the Security Parameters Index (see secure add). |
To create an RFC 1827 ESP VPN tunnel to another network with the IP address 140.63.33 and a netmask of 255.255.255.0 (#bits = 24), using the compatible gateway IP address 204.79.22.16 and the SPI of 1199, and using an Authentication Header for originator authentication, the command is:
route tunnel 140.63.33/24 en0 204.79.22.16 e a 1199
The Authentication Header and ESP tunneling are integral parts of IPSEC as preliminarily described in RFC 1825 and being discussed in IETF work groups.
The scrollback command displays or modifies the size of the command window scrollback buffer (in lines kept). The default configuration retains the most-recent 1000 lines of command window for viewing in scroll mode (activated and deactivated by the F6 function key).
scrollback {lines}
|
Parameter Name |
Description |
|
lines |
Optional parameter specifying the number of lines to be retained by the console command window scroll feature. |
Omitting the "lines" parameter causes the scrollback command to display the current number of lines retained.
The various secure sub-commands display or modify information used in the creation of encrypted or authenticated services.
secure [add|generate|status|trace]
Depends on the subcommand.
To view all the Security Assocations known by this NetNAT, the command is:
nscnat> secure status SPI: 1199, currently 1 associations Dest Len Interface Gateway Send pkts Recv pkts 10.1.1.255 32 en0(ae) 204.17.8.9 1 0 nscnat> _ |
|
Dest |
Destination network, host or broadcast address, or default. |
|
Len |
Length in bits of the netmask for this destination (24 bits is the same as the netmask 255.255.255.0). |
|
Interface |
The name of the interface to use to reach the specified destination. This includes the tunneling modes in parenthesis. |
|
Gateway |
The IP Address of the next hop in the direction of the specified destination, if needed. |
|
Send pkts |
Number of packets sent on this tunnel route. |
|
Recv pkts |
Number of packets received on this tunnel route. |
The secure sub-commands manage and display the Security Parameters Indices, the resulting Security Associations, and assist you in the selection of random DES keys. The secure sub-commands are:
|
addgenerate |
Generates 56-bit DES keys using statistically un-correlated events and weak-key checking. |
|
|
status |
Displays the existing Security Parameters Indices and any related Security Association. |
|
|
trace |
Enables or disables some low-level debugging information. This is not interesting to the user. |
|
Described below are the command syntax and parameters for each secure sub-command.
The secure add sub-command creates a Security Parameters Index (see RFC 1825 for details). An SPI contains security information that may be associated with a tunnel or other connection between computers or gateways. In the case of the NetNAT, this information consists of a 56-bit DES key to be used in encryption and authentication. When an SPI is applied to a tunnel between the NetNAT and a distant compatible gateway (such as another NetNAT), the resulting relationship is called a Security Association.
secure add [spi] [key] {key 2}
|
Parameter Name |
Description |
|
spi |
A decimal numeric value that uniquely defines this SPI. Numbers may range from 1 through 2^32-1, with the numbers 1 through 255 reserved by the IANA for future use. |
|
key |
A 56-bit DES key represented as 16 hex digits (64 bits). Each byte of the key must have odd parity. In addition, there are about a hundred DES keys that are considered to be "weak" and the NetNAT will verify that you have not entered one of those. |
|
key2 |
An optional second 56-bit DES key represented as 16 hex digits (64 bits), as described above. This key is only needed when using Triple-DES encryption. |
To create an SPI numbered 1199, with a DES key of 498a269283df686e, the command is:
secure add 1199 498a269283df686e
The NetNAT will perform very basic key validation for you. The required odd parity will be validated, and then the key will be tested against the list of published "weak keys." Error messages of "Key needs odd parity" or "Illegal weak key" indicate problems with the entered key value. A simple facility to generate DES keys is provided by the secure generate sub-command. For exportable versions of the NetNAT encryption, the NetNAT will verify that the first 16 effective bits of the DES key are zero, thereby restricting the size of the key to 40 bits.
The secure generate sub-command uses the built-in NetNAT random number generation facility to suggest 56-bit DES keys suitable for use with the secure add sub-command (or with other non-NetNAT applications). The NetNAT uses a combination of RC4 encryption and the MD5 one-way message digest, continuously stimulated by a number of uncorrelated physical events, to produce random numbers with high entropy content. The secure generate sub-command takes 64 bits from this entropy pool, sets odd parity and tests the result against the list of weak keys. When a qualified result is found, it is displayed as a suggested key. For international NetNAT users, a 40-bit DES key is also generated and displayed. The 40-bit key is created by taking 64 bits from the entropy pool, zeroing the first 18 bits (each byte contains only 7 bits of meaningful information), setting odd parity and testing against the list of known weak keys. A 40-bit DES key will always start with 0101 (two bytes of zeros with odd parity). No claim is made as to the appropriateness of any suggested key other than as described above.
secure generate
None.
To generate a suggested DES key, the command is:
secure generate
A sample response would be:
Suggested domestic key: e0759ead8f9479c8
Suggested export key: 010126319e57fdc4
The secure status sub-command displays the existing SPI entities and any Security Associations that exist. The keys for the defined SPI entities are never displayed.
secure status
None.
To display the current SPI and SA list, the command is:
nscnat> secure status
SPI: 1199, currently 2 associations
Dest Len Interface Gateway Send pkts Recv pkts
10.6.114.0 24 en0(e) 204.113.12.8 1742 1811
10.6.200.0 24 en0(ai) 204.113.17.1 22374 21931
nscnat> _
|
|
Dest |
Destination network or host. |
|
Len |
Length in bits of the netmask for this destination (24 bits is the same as the netmask 255.255.255.0). |
|
Interface |
The name of the interface to use to reach the specified destination. This includes the tunneling modes in parenthesis. |
|
Gateway |
The IP Address of the compatible security gateway at the other end of the secured tunnel. |
|
Send pkts |
Number of packets sent on this tunnel route. |
|
Recv pkts |
Number of packets received on this tunnel route. |
The service mapping commands create the NetNAT mapping relationships between apparent external services and actual internal services, or controls mapping of internal user computers to apparent external IP Addresses when the standard "many-to-one" mapping is not desired. These mappings may be port-and-protocol conscious, or port independent. The service mapping sub-commands that create these mappings are:
|
Default |
Maps all undefined service requests to an internal IP Address. |
|
Fixed |
Maps all services of an external apparent IP Address to an internal IP Address. |
|
Local |
Do not map this service, as the NetNAT processes this service locally. |
|
Mux |
Distributes incoming service requests across an array of servers. |
|
Pool |
Establishes a pool of apparent IP Addresses to be shared by internal users on a first-come-first-served basis. Using pool mapping, each internal user computer is assigned its own apparent IP Address as long as the computer remains active. Once the computer becomes idle, the apparent IP Address is released into the pool for another user computer. The pool is usually smaller than the total number of user computers. |
|
Port |
Maps a specific apparent IP Address/Port combination to an internal actual service. |
|
Subnet |
Maps an internal subnet to a single apparent address, or into a same-sized public subnet, depending on the specified mode. |
|
Volume |
Displays the traffic volumes for defined public services. |
In addition to the modes listed above, the NetNAT performs Dynamic Mapping of client IP Addresses into a single public IP Address, using port address translation algorithms developed by NSC in 1983. The NetNAT performs the mappings between "private" and "public" interfaces automatically. Therefore, no commands exist for this service.
Described below are the syntax and parameters for the service mapping sub-commands.
The service default sub-command sets the apparent and actual IP addresses for a server that will handle your network’s undefined service requests.
service [int name] default [app IP] [act IP] {flags}
|
Parameter Name |
Description |
|
int name |
The name of the NetNAT logical interface on the public side (i.e., en0, tr0, ppp0) |
|
app IP |
The apparent IP Address for the public side of the logical interface. |
|
act IP |
The actual IP Address of the real server on your private network. |
|
flags |
An optional value that enables event monitoring and logging. E Enables logging of significant events that occur for the default Mapping service. See Additional Information for the default event log record format. V Enables logging of data volumes for default Mapping services. When set, the NetNAT will log counts of data segments and data bytes in and out every minute where the counts would be non-zero. |
To route an undefined service request received on the NetNAT’s ethernet logical interface (e.g., en0 with apparent IP address 204.79.22.15), to the default Mapping server on your private network (e.g., actual IP address 192.168.200.5) and enable logging of default Mapping service events and volumes, the command is:
nscnat> service en0 default 204.79.22.15 192.168.200.5 E V
nscnat> service
en1 Main IP addr 192.168.200.254 No Mapping service
en0 Main IP addr 204.79.22.15 Default server 192.168.200.5:c000
All private clients will use 204.79.22.15
nscnat> _
|
The service default sub-command establishes a last-resort default for responding to service requests that the NetNAT has not been able to handle otherwise. For example; If you suspect that Internet Bad Guys (IBGs) are attempting to invade your system, you may wish to set up a highly-instrumented host and point the NetNAT's Default Service Mapping filter at it. In this way, the NetNAT will not reject the connection attempts offhand, but will route them through to this instrumented internal machine for examination.
Because the NetNAT routes all undefined services to this default machine, you should carefully consider whether the use of the Default Service Mapping facility is wise. If you configure incorrectly and send the undefined service requests to an unprotected machine, you will compromise the NetNAT’s Firewall functionality.
Any service request from the public area that is addressed to the apparent IP Address, and that is not otherwise handled by a Service Port Mapping relationship, is redirected to the configured service provider on the private network. Conversely, all reply messages from the actual IP Address (the actual server) are rewritten to appear to originate at the apparent public address.
All affected checksums are recalculated in the messages before they are transmitted.
The service fixed sub-command creates a relationship between all services and an apparent IP address on the public side of the NetNAT’s logical interface, and the actual IP address for the real server on your private network.
This special mapping is useful when you have an internal server that processes many different services. Some users have experimental servers whose services are difficult to define, due to rapid changes. The fixed mapping afforded by this sub-command allows an administrator to open up the firewall for all services on that test machine. Needless to say, this may constitute a serious security risk if there are services on this test machine that may be compromised by an outsider.
service [int name] fixed [app IP] [act IP] {flags}
|
Parameter Name |
Description |
|
int name |
The name of the NetNAT logical interface on the public side (i.e., en0, tr0, ppp0) |
|
app IP |
The apparent IP Address for the public side of the logical interface. |
|
act IP |
The actual IP Address of the real server on your private network. |
|
flags |
An optional value that enables event monitoring and logging. E Enables logging of significant events that occur for the default Mapping service. See Additional Information for the default event log record format. V Enables logging of data volumes for default Mapping services. When set, the NetNAT will log counts of data segments and data bytes in and out every minute where the counts would be non-zero. |
nscnat> service en0 fixed 204.79.22.16 192.168.200.5
nscnat> service
en1 Main IP addr 192.168.200.254 No Mapping service
en0 Main IP addr 204.79.22.15
All private clients will use 204.79.22.15
204.79.22.16:(ALL) handled by 192.168.200.5::0
nscnat> _
|
As with the service default sub-command, the wisdom of using the service fixed facility must be weighed against the convenience it provides. While it allows the administrator to permit incoming service requests to new services without ongoing configuration involvement, it also permits access attempts on any service that the server computer is running. It may be appropriate to add filtering on your Internet access router to block incoming attempts at susceptible services.
The service local sub-command designates that the NetNAT, rather than a device on the private network, will process the specified service request. For example, HTTP or FTP, if permitted by the NetNAT.
service [int] local [app IP] [app port] [TCP|UDP] {flags}
|
Parameter Name |
Description |
|
int name |
The name of the NetNAT logical interface on the public side (i.e., en0, tr0, ppp0) |
|
app IP |
The apparent IP Address for the public side of the logical interface. |
|
app port |
The apparent Port Number for the NetNAT’s service. |
|
TCP | UDP |
The protocol to use when communicating with this NetNAT service, either TCP or UDP. |
|
flags |
An optional value that enables event monitoring and logging. E Enables logging of significant events that occur for the default Mapping service. See Additional Information for the default event log record format. V Enables logging of data volumes for default Mapping services. When set, the NetNAT will log counts of data segments and data bytes in and out every minute where the counts would be non-zero. |
nscnat> service en0 local 204.79.22.15 80 tcp
nscnat> service
en1 Main IP addr 192.168.200.254 No Mapping service
en0 Main IP addr 204.79.22.15
All private clients will use 204.79.22.15
204.79.22.15:80/TCP handled by local server
nscnat> _
|
When the NetNAT processes an inbound request for a service that has a "local Mapping" entry in the Mapping table, it checks for local listeners on the specified port. If there are none, the NetNAT rejects the service request.
The service mux sub-command manages the mapping of service requests across a cluster of servers. The first invocation of the service mux command creates a virtual server that additional invocations augment. Up to 16 internal servers (located on the private side of the NetNAT) may share the responsibility for a single service. Inbound requests are distributed across the cluster based upon the number in queue for each server. This process is also called "load sharing" or "server leveling."
service [int] mux [app IP] [app port] [TCP|UDP] [act IP] [act port] {flags}
|
Parameter Name |
Description |
|
int |
The name of the NetNAT logical interface on the public side (i.e., en0, tr0, ppp0) |
|
app IP |
The apparent IP Address for the public side of the logical interface. |
|
app port |
The apparent Port Number for the NetNAT’s service. |
|
TCP | UDP |
The protocol to use when communicating with this NetNAT service, either TCP or UDP. |
|
act IP |
The actual IP Address of an internal server to handle this service. |
|
act port |
The actual Port Number for the internal server’s service daemon. |
|
flags |
An optional value that enables event monitoring and logging. E Enables logging of significant events that occur for the default Mapping service. See Additional Information for the default event log record format. V Enables logging of data volumes for default Mapping services. When set, the NetNAT will log counts of data segments and data bytes in and out every minute where the counts would be non-zero. |
To define an internal array of two Web servers to share requests addressed to the public address 204.79.22.15, use the following two commands:
nscnat> service en0 mux 204.79.22.15 80 tcp 192.168.200.3 80
nscnat> service en0 mux 204.79.22.15 80 tcp 192.168.200.4 80
nscnat> service
en1 Main IP addr 192.168.200.254 No Mapping service
en0 Main IP addr 204.79.22.15
Mux Array: 204.79.22.15:80(TCP) served by:
*192.168.200.3:80, 1278 uses, 11 now
*192.168.200.4:80, 1209 uses, 13 now
All private clients will use 204.79.22.15
nscnat> _
|
When the NetNAT receives the startup sequence for a service handled by a multiplex array, it looks at the current number of sessions existing to each of the internal servers, and sends the new connection to the least-busy server. At most sixteen servers may be sharing the service responsibility.
The service pool sub-command establishes a pool of public IP Addresses that are assigned dynamically to internal clients on a one-to-one basis. A pool of addresses may be up to 512 addresses in length, and you may allocate as many as four pools.
service [int name] pool [1st pub IP] [# in pool] {lease}
|
Parameter Name |
Description |
|
int name |
The name of the NetNAT logical interface on the public side (i.e., en0, tr0, ppp0) |
|
1st pub IP |
The apparent IP Address for the beginning of the pool. |
|
# in pool |
The number of contiguous public IP Addresses in the pool (maximum of 512 per pool). |
|
lease |
The length of time after an internal client goes idle (has no more sessions through the NetNAT) before the IP Address is released back into the pool. This parameter is expressed in tens of seconds (6 equals one minute), and is optional. If not provided, the lease time defaults to one day. In practice, setting this to a small value doesn’t hurt anything, since all sessions have timed out. |
To establish a pool of 256 public IP Addresses beginning at 138.171.5.0, with a one-minute lease, use this command:
nscnat> service en0 pool 138.171.5.0 256 6
nscnat> service
en1 Main IP addr 192.168.200.254 No Mapping service
en0 Main IP addr 138.171.4.15
Pool 1 at 138.171.5.0 with 256 members (0 in use), Lease 60 sec
All other private clients will use 138.171.4.15
nscnat> _
|
The user command may be used to display the mapping at any given time.
The service port sub-command creates a relationship between the apparent IP address/Port Number/Protocol (UDP or TCP) combination for a service on the public side of the NetNAT and the actual IP Address/Port Number combination for the real server on your private network.
service [int] port [app IP] [app port] [TCP|UDP] [act IP] {act port} {flags}
|
Parameter Name |
Description |
|
int name |
The name of the NetNAT logical interface on the public side (i.e., en0, tr0, ppp0) |
|
app IP |
The apparent IP Address for the public side of the logical interface. |
|
app port |
The apparent Port Number for the service. |
|
TCP | UDP |
The protocol to use when communicating with this NetNAT service, either TCP or UDP. |
|
act IP |
The actual IP Address of the real server on your private network. |
|
act port |
The actual Port Number of the real service. If not specified, this defaults to the same number as the apparent Port Number. This field must be present if the optional "flags" field is specified. |
|
flags |
An optional value that enables event monitoring and logging. E Enables logging of significant events that occur for the default Mapping service. See Additional Information for the default event log record format. V Enables logging of data volumes for default Mapping services. When set, the NetNAT will log counts of data segments and data bytes in and out every minute where the counts would be non-zero. P This service is a PPTP Control Session. External PPTP clients will access an internal PPTP server by this service. At first access by the external client, a PPTP data object is created in the NetNAT for subsequent data traffic. Information about existing PPTP data objects may be displayed by use of the PPTP command. |
To permit the outside world to "see" HTTP, SMTP and DNS services on an apparent machine 204.79.22.15, when the actual services are in your private Intranet on two machines 192.168.200.3 and 192.168.200.4 you would use these commands:
nscnat> service en0 port 204.79.22.15 80 tcp 192.168.200.3 80
nscnat> service en0 port 204.79.22.15 25 tcp 192.168.200.3 25
nscnat> service en0 port 204.79.22.15 53 udp 192.168.200.4 53
nscnat> service en0 port 204.79.22.15 53 tcp 192.168.200.4 53
nscnat> service
en1 Main IP addr 192.168.200.254 No Mapping service
en0 Main IP addr 204.79.22.15
All private clients will use 204.79.22.15
204.79.22.15:80/TCP handled by 192.168.200.3:80
204.79.22.15:25/TCP handled by 192.168.200.3:25
204.79.22.15:53/UDP handled by 192.168.200.4:53
204.79.22.15:53/TCP handled by 192.168.200.4:53
nscnat> _
|
Any service request from the public area that is addressed to the apparent IP Address/Port Number combination is redirected to the actual service provider on the private network. Conversely, all reply messages from the actual IP Address/Port Number/Protocol combination are rewritten to appear to originate at the apparent public combination.
The service subnet sub-command is the most complex of the service commands, and is the most powerful. This command defines unique treatment for all or part of your internal network, based upon subnet. The size of the subnet may be anything that is possible to define with a non-comb netmask, from a single computer (with a 32-bit mask or 255.255.255.255) to an entire Class-A network, or even larger.
service [int name] subnet [pub IP] [pri net] [mask] 0
service [int name] subnet [pub net] [pri net] [mask] 1
service [int name] subnet [pub net] [pri net] [mask] 2
service [int name] subnet [pub net] [pri net] [mask] 3
|
Parameter Name |
Description |
|
int name |
The name of the NetNAT logical interface on the public side (i.e., en0, tr0, ppp0) |
|
pub IP |
The public (apparent) IP Address to be shared by all members of the subnet. |
|
pri net |
The subnet address for the internal subnet we’re defining. |
|
mask |
The netmask for both the public subnet and for the internal subnet we’re defining. |
|
pub net |
The subnet address for the public subnet we’re defining. |
|
mode |
Mode 0, 1, 2 or 3. This defines the characteristics and special treatment of members of this subnet. If not specified, mode 0 is used. |
Examples will be given in the subsequent sections detailing the four modes.
The service subnet mode 0 mapping forces all members of the described subnet to share a single public IP Address. The computers may share a single address because of our port address translation facility. Unless enabled by a service port command, no inbound service attempts will be permitted through the NetNAT into the described subnet. Inbound ping messages will be replied to by the NetNAT itself.
service [int name] subnet [pub IP] [pri net] [mask] 0
|
Parameter Name |
Description |
|
int name |
The name of the NetNAT logical interface on the public side (i.e., en0, tr0, ppp0) |
|
pub IP |
The public (apparent) IP Address to be shared by all members of the subnet. |
|
pri net |
The subnet address for the internal subnet we’re defining. |
|
mask |
The netmask for the internal subnet we’re defining. |
|
mode |
Zero (0) to specify Mode 0. |
To cause members of internal subnet 10.1.2.0/24 to share public IP Address 204.79.3.6, use this command:
nscnat> service en0 subnet 204.79.3.6 10.1.2.0 255.255.255.0 0
nscnat> service
en1 Main IP addr 10.1.1.254 No Mapping service
en0 Main IP addr 204.79.3.15
Net 10.1.2.0 mask 255.255.255.0 will use 204.79.3.6
All other private clients will use 204.79.3.15
nscnat> _
|
It is perfectly legal to have several subnet mapping definitions, even ones that overlap. For example, you could define a mode 0 setup like in the illustration above, and then define an even more restrictive one on top of it. We define "more restrictive" to mean that the netmask masks the network down to a smaller net. You could even define a single computer as a subnet by using 255.255.255.255 as the netmask. In this way, you may have a whole Class-C network share one public IP Address, and give a second public IP Address to a single computer in that network. The look-up algorithm will always find the "most restrictive" subnet definition first, so it doesn’t matter in what order your configuration entries are entered.
The service subnet mode 1 performs what we call a "block translation," where an internal subnet is mapped as a block into a same-sized public subnet. In this way, each internal computer has a predictable public address for Internet operations. All firewall functions are in place in mode 1, so no inbound service attempts will be permitted through the NetNAT into the internal subnet. Inbound ping messages will be replied to by the NetNAT itself, making the subnet appear to be completely full of computers.
service [int name] subnet [pub net] [pri net] [mask] 1
|
Parameter Name |
Description |
|
int name |
The name of the NetNAT logical interface on the public side (i.e., en0, tr0, ppp0) |
|
pub net |
The subnet address for the public subnet we’re defining. |
|
pri net |
The subnet address for the internal subnet we’re defining. |
|
mask |
The netmask for both the public subnet and for the internal subnet we’re defining. |
|
mode |
One (1) to specify Mode 1. |
To cause members of internal subnet 10.1.2.0/24 to appear to be in public IP subnet 204.79.3.0/24, use this command:
nscnat> service en0 subnet 204.79.3.0 10.1.2.0 255.255.255.0 1
nscnat> service
en1 Main IP addr 10.1.1.254 No mapping service
en0 Main IP addr 204.79.3.15
Net 10.1.2.0 mask 255.255.255.0 will use 204.79.3.0, mode 1
All other private clients will use 204.79.3.15
nscnat> _
|
As mentioned in the mode 0 section, subnet mapping definitions may be combined without problems. You may use a mode 1 mapping to place all members of an internal subnet into a public subnet, and then overlay it with a more-restrictive mode 0 definition to give a subset of the subnet a completely different shared public address.
The service subnet mode 2 is another "block translation" mechanism, and is similar to mode 1, but with a natural extension. As before, each internal computer has a predictable public address for Internet operations, but in mode 2, pings are passed into the internal subnet for the actual computer to handle. This lets you verify connectivity through the NAT, but without opening your internal network to attacks from without. All other firewall functions are in place in mode 2, so no other inbound service attempts will be permitted through the NetNAT into the internal subnet.
service [int name] subnet [pub net] [pri net] [mask] 2
|
Parameter Name |
Description |
|
int name |
The name of the NetNAT logical interface on the public side (i.e., en0, tr0, ppp0) |
|
pub net |
The subnet address for the public subnet we’re defining. |
|
pri net |
The subnet address for the internal subnet we’re defining. |
|
mask |
The netmask for both the public subnet and for the internal subnet we’re defining. |
|
mode |
Two (2) to specify Mode 2. |
To cause members of internal subnet 10.1.2.0/24 to appear to be in public IP subnet 204.79.3.0/24, use this command:
nscnat> service en0 subnet 204.79.3.0 10.1.2.0 255.255.255.0 2
nscnat> service
en1 Main IP addr 10.1.1.254 No mapping service
en0 Main IP addr 204.79.3.15
Net 10.1.2.0 mask 255.255.255.0 will use 204.79.3.0, mode 2
All other private clients will use 204.79.3.15
nscnat> _
|
As mentioned before, subnet mapping definitions may be combined without problems.
The service subnet mode 3 is the newest of our "block translation" modes, adding SNMP payload translation (and optional telnet/traceroute passthrough) to the ping passthrough feature of mode 2. This combination allows network discovery and management of a private network from the public side of the NetNAT. All other firewall functions are in place in mode 3, so no other inbound service attempts will be permitted through the NetNAT into the internal subnet.
service [int] subnet [pub net] [pri net] [mask] 3 {flags}
|
Parameter Name |
Description |
|
int |
The name of the NetNAT logical interface on the public side (i.e., en0, tr0, ppp0) |
|
pub net |
The subnet address for the public subnet we’re defining. |
|
pri net |
The subnet address for the internal subnet we’re defining. |
|
mask |
The netmask for both the public subnet and for the internal subnet we’re defining. |
|
mode |
Three (3) to specify Mode 3. |
|
flags |
"T", "F" and/or "R" to permit inbound telnet, ftp and/or traceroute. This is optional. |
To cause members of internal subnet 10.0.0.0/8 to appear to be in public IP subnet 12.0.0.0/8, and permit network discovery and management via mode 3 use this command:
nscnat> service en0 subnet 12.0.0.0 10.0.0.0 255.0.0.0 3
nscnat> service
en1 Main IP addr 10.1.1.254 No mapping service
en0 Main IP addr 204.79.3.15
Net 10.0.0.0 mask 255.0.0.0 will use 12.0.0.0, mode 3
All other private clients will use 204.79.3.15
nscnat> _
|
The rules that control the translation of SNMP payloads are kept in a user-editable file in the NetNAT runtime directory, permitting you to add new translation rules as you detect MIB objects that are being passed through without modification.
Service subnet mode 3 may be modified with the "T" suffix, to add inbound telnet session passthrough to the SNMP payload translation and ping passthrough features of mode 3. This permits terminal session connectivity to the managed devices on the private side of the NetNAT. All other firewall functions are in place in mode 3, so no other inbound service attempts will be permitted through the NetNAT into the internal subnet.
service [int] subnet [pub net] [pri net] [mask] 3 t
|
Parameter Name |
Description |
|
int |
The name of the NetNAT logical interface on the public side (i.e., en0, tr0, ppp0) |
|
pub net |
The subnet address for the public subnet we’re defining. |
|
pri net |
The subnet address for the internal subnet we’re defining. |
|
mask |
The netmask for both the public subnet and for the internal subnet we’re defining. |
|
mode |
Three (3) to specify Mode 3. |
|
t |
This flag adds inbound telnet session passthrough to the other features of Mode 3. The "t" flag may be combined with others. |
To cause members of internal subnet 10.0.0.0/8 to appear to be in public IP subnet 12.0.0.0/8, permitting network discovery and both telnet and SNMP management via mode 3 use this command:
nscnat> service en0 subnet 12.0.0.0 10.0.0.0 255.0.0.0 3 t
nscnat> service
en1 Main IP addr 10.1.1.254 No mapping service
en0 Main IP addr 204.79.3.15
Net 10.0.0.0 mask 255.0.0.0 will use 12.0.0.0, mode 3:t
All other private clients will use 204.79.3.15
nscnat> _
|
Permitting inbound telnet to a network is a security risk, and this should be given thoughtful consideration before enabling this feature.
Service subnet mode 3 may be modified with the "F" suffix, to add inbound FTP session passthrough to the SNMP payload translation and ping passthrough features of mode 3. This permits file transfer session connectivity to the managed devices on the private side of the NetNAT. All other firewall functions are in place in mode 3, so no other inbound service attempts will be permitted through the NetNAT into the internal subnet, unless otherwise permitted by NetNAT configuration.
service [int] subnet [pub net] [pri net] [mask] 3 f
|
Parameter Name |
Description |
|
int |
The name of the NetNAT logical interface on the public side (i.e., en0, tr0, ppp0) |
|
pub net |
The subnet address for the public subnet we’re defining. |
|
pri net |
The subnet address for the internal subnet we’re defining. |
|
mask |
The netmask for both the public subnet and for the internal subnet we’re defining. |
|
mode |
Three (3) to specify Mode 3. |
|
f |
This flag adds inbound FTP session passthrough to the other features of Mode 3. The "f" flag may be combined with others. |
To cause members of internal subnet 10.0.0.0/8 to appear to be in public IP subnet 12.0.0.0/8, permitting network discovery and ftp, telnet, and SNMP management via mode 3 use this command:
nscnat> service en0 subnet 12.0.0.0 10.0.0.0 255.0.0.0 3 t f
nscnat> service
en1 Main IP addr 10.1.1.254 No mapping service
en0 Main IP addr 204.79.3.15
Net 10.0.0.0 mask 255.0.0.0 will use 12.0.0.0, mode 3:tf
All other private clients will use 204.79.3.15
nscnat> _
|
Permitting inbound FTP to a network is a security risk, and this should be given thoughtful consideration before enabling this feature. Please see the "private idle service" subcommand for important additional information.
Service subnet mode 3 may be modified with the "R" suffix, to add inbound traceroute passthrough to the SNMP payload translation and ping passthrough features of mode 3. This enables the use of the powerful traceroute tool by the professional network manager. All other firewall functions are in place in mode 3, so no other inbound service attempts will be permitted through the NetNAT into the internal subnet, unless otherwise permitted by NetNAT configuration.
service [int] subnet [pub net] [pri net] [mask] 3 r
|
Parameter Name |
Description |
|
int |
The name of the NetNAT logical interface on the public side (i.e., en0, tr0, ppp0) |
|
pub net |
The subnet address for the public subnet we’re defining. |
|
pri net |
The subnet address for the internal subnet we’re defining. |
|
mask |
The netmask for both the public subnet and for the internal subnet we’re defining. |
|
mode |
Three (3) to specify Mode 3. |
|
r |
This flag adds inbound traceroute passthrough to the other features of Mode 3. The "r" flag may be combined with others. |
To cause members of internal subnet 10.0.0.0/8 to appear to be in public IP subnet 12.0.0.0/8, permitting network discovery and traceroute, telnet, and SNMP management via mode 3 use this command:
nscnat> service en0 subnet 12.0.0.0 10.0.0.0 255.0.0.0 3 t r
nscnat> service
en1 Main IP addr 10.1.1.254 No mapping service
en0 Main IP addr 204.79.3.15
Net 10.0.0.0 mask 255.0.0.0 will use 12.0.0.0, mode 3:tr
All other private clients will use 204.79.3.15
nscnat> _
|
Like the other Mode 3 Modifiers, the traceroute option may be combined with others, to provide the services needed.
The service volume command displays additional traffic volume information about the services mapped using the various service mapping commands.
service [int name] volume
|
Parameter Name |
Description |
|
int name |
The name of the NetNAT logical interface on the public side (i.e., en0, tr0, ppp0) |
nscnat> service en0 volume
Service volumes for en0
204.79.3.15:80/TCP ( 10.1.1.30:80)
p_in 2206, p_out 3112, b_in 23622, b_out 119835, b/s_in 56, b/s_out 3612
nscnat> _
|
In this example, a public web server’s traffic counts are displayed. The last two values are bytes per second in and out. If you are not using syslog to log volumes, these will be a long-term average bytes per second. If you are using syslog to log volumes, the seconds-since-definition value that this command uses to compute the long-term average is used otherwise, resulting in inaccurate values displayed.
Since the displayed bytes per second is computed over lots of time, a lot of volume is required before non-zero values are displayed.
The source command reads NetNAT commands from a script file and executes them. The source command executes them in the foreground, and the sourceb command executes them in the background. The difference between the two is largely that sourceb is run in a spawned session, whereas source is run in the main console session. Source is very convenient for tasks like deleting old packet trace files and starting a fresh packet trace.
source [file name]
sourceb [file name]
|
Parameter Name |
Description |
|
file name |
The name of a file containing NetNAT commands. |
The syslog command displays the current logging status for the NetNAT, disables logging, and sets or changes the IP address of the syslog server. Information includes the IP Address of the configured syslog host and the state of the message reject logging variable, if it is non-zero.
syslog [ipaddress|hostname]
|
Parameter Name |
Description |
|
blank |
Displays the current logging status for the NetNAT. |
|
0 |
When present, zero (0) disables the syslog server. |
|
IP Address | Hostname |
Sets or changes the IP address or hostname (if the NetNAT supports DNS) for the syslog server. |
syslog
Possible responses are:
"No syslog server" when no server has been specified.
"Syslog server is xx.xx.xx.xx, using facility: local2, priority: info" when server xx.xx.xx.xx is in use.
If reject logging is enabled, that information will be displayed, too.
Syslog originated in the Unix world and provides a means of logging significant information to a remote server for processing. The NetNAT uses a syslog server to collect useful event information and data volume counts. This eliminates the need to locally store and process statistical data. Computers that have more time on their hands are better at distilling and graphing statistical information.
The syslog facility command changes the facility code under which the NetNAT logs all events. The default facility is "LOCAL2," but may be changed by means of this command.
syslog facility [facility]
|
Parameter Name |
Description |
|
facility |
Specifies the syslog facility to use for all syslog messages. The default value is "local2." Legal values are kern, user, mail, daemon, auth, syslog, lpr, news, uucp, cron, authpriv, local0, local1, local2, local3, local4, local5, local6 and local7. |
To change the syslog facility that the NetNAT uses for all syslog messages to "daemon" from the default "local2," the command is:
syslog facility daemon
There is no response when the command syntax is correct.
The syslog priority command changes the priority code under which the NetNAT logs all non-reject events. The default priority is "INFO," but may be changed by means of this command. Reject events are changed with the "syslog reject" command.
syslog priority [priority]
|
Parameter Name |
Description |
|
priority |
Optional parameter specifying the syslog priority to use for all syslog messages other than reject messages (possible values are alert, crit, debug, emerg, err, info, notice and warning. The default value is "info." |
To change the syslog priority that the NetNAT uses for all non-reject syslog messages to "notice" from the default "info," the command is:
syslog priority notice
There is no response when the command syntax is correct.
The syslog reject command enables or disables logging, via syslog, of pertinent information about service requests that the NetNAT rejects.
syslog reject [on|off|1|0|true|false] {priority}
|
Parameter Name |
Description |
|
off | false | 0 |
Disables the NetNAT from sending the syslog server log records for rejected service request events. |
|
on | true | 1 |
Enables the NetNAT to send the syslog server log records for rejected service request events. |
|
priority |
Optional parameter specifying the syslog priority to use for the reject messages (possible values are alert, crit, debug, emerg, err, info, notice and warning. The default value is "info." |
To disable the NetNAT from routing log records for rejected service requests to the syslog server, the command is:
syslog reject off
The response is "Reject logging disabled."
To instruct the NetNAT to log records for rejected service requests using syslog priority "notice" rather than the default "info," the command is:
syslog reject 1 notice
Message rejection is a global feature of the NetNAT and logging control is centered in the syslog server facility. When enabled, the NetNAT will send a log record for each rejected service request to the syslog server for logging.
Give careful thought before enabling reject logging, as it can produce a substantial amount of data.
The tcp command displays the contents of the TCP "MIB" (the SNMP Management Information Block containing the TCP statistics), as well as any sockets with listeners and connections.
tcp status
None.
nscnat> tcp status
( 1)tcpRtoAlgorithm 4 ( 2)tcpRtoMin 0
( 3)tcpRtoMax 94967295 ( 4)tcpMaxConn 4294967295
( 5)tcpActiveOpens 2 ( 6)tcpPassiveOpens 1
( 7)tcpAttemptFails 2 ( 8)tcpEstabResets 0
( 9)tcpCurrEstab 1 (10)tcpInSegs 60
(11)tcpOutSegs 57 (12)tcpRetransSegs 1
(14)tcpInErrs 0 (15)tcpOutRsts 8
&TCB Rcv-Q Snd-Q Local socket Remote socket State
19e960 0 600 10.1.1.254:23 10.1.1.6:1979 Estab
19eaf8 0 0 0.0.0.0:23 0.0.0.0:0 Listen (S)
34a5b8 0 0 0.0.0.0:113 0.0.0.0:0 Listen (S)
32a220 0 0 0.0.0.0:21 0.0.0.0:0 Listen (S)
32a0b8 0 0 0.0.0.0:80 0.0.0.0:0 Listen (S)
329f70 0 0 0.0.0.0:9 0.0.0.0:0 Listen (S)
329e70 0 0 0.0.0.0:7 0.0.0.0:0 Listen (S)
nscnat> _
|
The trace command enables or disables packet capture for the interfaces of the NetNAT. Packets may be captured to the console display or to file for later viewing. Depending upon the flags that are entered to start the capture, the traced data will be more or less decoded for ease of human consumption. Check out ifconfig tracelimit for a nice facility to keep trace files from filling your entire disk.
trace
trace [int name]
trace [int name] off
trace [int name] [flags]
trace [int name] [flags] [filename]
The first form displays whether tracing is occurring on any of the NetNAT interfaces. The second form displays the status of tracing for a particular interface. The third form terminates tracing on a specified interface, closing any output file that may have been in use.
The last two forms start the tracing process. The flags determine what is captured and how it is interpreted before display or filing. With the "filename" parameter, the output goes to a file for subsequent viewing.
|
Parameter Name |
Description |
|
Int name |
The name of the NetNAT logical interface (e.g. en0). |
|
flags |
A numeric value representing bit settings to control what gets captured and how the captured data will be interpreted for display. |
The flag bit settings are as follows:
|
Bits value in Hex |
Description |
|
001 |
Trace output packets. |
|
010 |
Trace input packets. |
|
100 |
Dump packets in ASCII (hex is the default). |
|
200 |
Dump packets in hex and ASCII both. |
|
1000 |
Suppress capture of broadcast messages. |
The flag bit values to be combined to achieve the desired characteristics. For example, our favorite combination is "211" which causes both input and output packets to be captured and displayed in hex and ASCII.
The udp command displays the contents of the UDP "MIB" (the SNMP Management Information Block containing the UDP statistics), as well as any sockets with listening processes.
udp status
None.
Possible responses are:
nscnat> udp status
( 1)udpInDatagrams 6 ( 2)udpNoPorts 229
( 3)udpInErrors 0 ( 4)udpOutDatagrams 37
&UCB Rcv-Q Local socket
000269200 0 0.0.0.0:1649
nscnat> _
|
The users command works on NetNATs that have limited-user licenses. It shows the number of permitted simultaneous users, the current number active, and the IP Addresses of the active users and the number of sessions each has in use. The user pop sub-command enables and controls the artificial-intelligence predictive dialer (available in DialNAT models only). The user pop sub-command will be detailed in subsequent sections.
users
users pop
None.
Typical responses are:
For a NetNAT with an unlimited-user license:
nscnat> users Unlimited mode… No client records kept. nscnat> _ |
For a NetNAT with an 8-user license:
nscnat> users 8 Client mode, 2 in use. Client 1 at address 10.1.1.6, 1 sessions Client 2 at address 10.1.1.30, 3 sessions nscnat> _ |
The version command displays the NetNAT version number, the serial number, and time since the NetNAT program started.
|
version |
Display the NetNAT version, serial number and uptime. |
View is a file pager, and is in fact an alias for the more command described earlier. View creates a new console window that shows the contents of the requested file, and allows you to scroll up and down through it. To exit the view window, type q or control-C.
|
view [filename] |
Display a file in a scrolling window. |
The normal PC PgUp, PgDn, Home, End, and up-down arrow keys let you scroll around in the specified file. Dedicated emacs and vi addicts will be pleased to discover that their favorite up-down line keys (and a few others) also work with the view command.
The watchdog global command sets the timeout variable for the built-in hardware watchdog timer.
start watchdog [parm]
|
Parameter |
Timeout in seconds |
|
0 |
Watchdog OFF |
|
1 |
0.5 |
|
3 |
2.1 |
|
5 |
8.6 |
|
7 |
17.2 |
|
9 |
34.4 |
|
11 |
137.9 |
|
13 |
275.8 |
|
15 |
551.6 |
To set the watchdog timer so that it resets the hardware within 8.6 seconds after a program crash or hardware hang, the command is:
start watchdog 5
To set the watchdog timer to the default reset time period (17.2), the command is:
start watchdog
There is no response after setting the reset time for the watchdog timer.
The watchdog timer is an independent device inside the NetNAT that monitors the NetNAT's operations. In the event of a program crash or hardware hang, the watchdog waits the indicated time-out period, then resets the NetNAT hardware, rebooting the NetNAT PC.
We recommend setting the watchdog time to either a value of 5 (for 8.6 seconds). or the default value of 7 (for 17.2 seconds). A higher setting could result in unnecessary delays when restarting the unit.
The www global command starts the World Wide Web server.
start www [port]
|
Parameter Name |
Description |
|
port |
Indicates the port to use for the web server. Set this parameter only if your web server uses some other port than the default. When blank, the NetNAT uses the standard WWW port of 80. |
To start the web server using the default port value of 80, the command is:
start www
To start the web server using port 60, the command is:
start www 60
This page intentionally left blank
This information is proprietary to Network Safety and is intended for use by existing customers and for evaluation by potential customers. Any other usage is expressly forbidden without written permission from Network Safety.