r7 - 28 Feb 2010 - 16:03:15 - EricTYou are here: Wiki >  AppLogic27 Web > CatGatewayOUT2
ALERT! AppLogic 2.7/2.8 Documentation The latest production release is AppLogic 2.8.9

OUT2: Single Host Output Gateway Appliance

Latest version: 1.0.5-1

OUT.png At a Glance
Catalog System
Category Beta
User volumes no
Min. memory 64 MB
OS Linux
Constraints no
Questions/Comments Ask Forum

Functional overview

ALERT! OUT2 is not available in AppLogic 2.8+. Please use OUT instead.

OUT2 is an output gateway that provides access to a network host located outside of an application. OUT2 accepts traffic from the application on its in terminal and forwards it through its external interface to the remote host.

OUT2 has a firewall that allows only outgoing traffic (connections and datagrams); it drops incoming traffic that is not for an already established connection or related to a datagram request.

OUT2 passes all traffic to the remote host specified by the remote_host property. The remote host can be specified either as a DNS host name (e.g., www.3tera.com) or as an IP address in "dots" notation (e.g., 192.168.1.1). If the remote host is configured using a DNS name, the OUT2 gateway ensures that if the name-to-IP mapping changes, the gateway redirects its traffic to the new IP address.

OUT2 is used to access services outside of the application, such as an external database, web service or document repository. OUT2 is the only appliance in an application that needs to be configured with the name or IP address of the remote host; the remaining application components can access that host simply by being connected to the OUT2 appliance input.

If the log terminal is connected then OUT2 logs via the log terminal to a remote syslog server.

OUT2 is implemented using BusyBox to provide a small and efficient environment tailored to support its functionality. It boots from a read-only volume and uses a 2MB ramdisk to store files which change during boot or run time.

ALERT! Please note: the log terminal is not used for storing logs on a mounted cifs file system, but rather for sending logging messages to a remote syslog server. In the future other AppLogic appliances will be updated to log via their log terminals to a remote syslog server.

Boundary

Resources

Resource Minimum Maximum Default
CPU 0.05 4 0.05
Memory 64 MB 2 GB 64 MB
Bandwidth 1 Mbps 2000 Mbps 200 Mbps

Terminals

Name Dir Protocol Description
in in any Accepts traffic to be forwarded to the remote host
log out syslog Sends logging messages using the syslog protocol. This terminal may be left unconnected if it is not used.
ALERT! Please note: the log terminal is not used for storing logs on a mounted cifs file system, but rather for sending logging messages to a remote syslog server.
mon out cce Sends performance and resource usage statistics

The external interface is enabled. It is used for outgoing traffic. It is configured to send all traffic to the remote host.

The default interface is enabled. It is used for maintenance (incoming ssh connections).

Boot volume

OUT2 appliance is based on custom Linux distribution with a read-only boot volume and inherits its file system layout. Almost all files reside in the boot volume. Files or folders that need to be modified either reside on the RAM drive or are symbolic links to the RAM drive.
ALERT! Any changes applied to an instance of the OUT2 appliance will be lost after appliance stop or restart.

User Volumes

None

Properties

Property name Type Description
remote_host String The remote host to which all traffic is forwarded. This can be the resolvable domain name of the host or its IP address in "dots" notation. This property is mandatory.
dns_poll Integer The poll interval, in seconds, at which OUT2 checks the mapping of the DNS name of remote_host to an IP address (used only if remote_host is specified as a domain name). Set to 0 to disable polling and not try to detect changes. Default: 3600 seconds (1 hour).
ip_addr IP Address IP address of the external interface. This property is mandatory.
netmask IP Address Network mask for the network on which ip_addr resides. This property is mandatory.
gateway IP Address IP network gateway (router) used for all outgoing traffic to the external network via ip_addr. This property may be left empty only if the remote host is on the same subnet; otherwise it must be specified. Default: empty.
dns1 IP Address IP address of the primary DNS server used for host name resolution. This property may be left empty if the remote host is specified by its IP address; otherwise it must be specified. Default: empty.
dns2 IP Address IP address of the backup DNS server used for host name resolution. Default: empty (not used).

Error Messages

The following messages may appear in either the appliance log file or the system log of the grid controller when the appliance fails to start:

  • Failed to set up rules (exit code code); using backup rule set

Typical Usage

The following diagram shows a typical usage of OUT2 for a simple web server application that accesses an external database while serving user requests:

out_usage.png

Summary of Parts

  • in - input gateway appliance, class IN2
  • web - web server appliance, class WEB5
  • out - output gateway appliance, class OUT2

in passes client web requests arriving from outside the application to the web server. web serves static content by itself; for dynamic content, scripts that run in web access an external database through the out gateway. The out gateway is configured with the host name of the server that provides the external database.

The following sections describe the configuration of OUT2 in several typical use cases:

OUT2 with a remote host by DNS name

This mode is used when the remote host has a valid entry in the DNS server. In this mode, OUT2 can resolve the DNS name and monitors for changes to the DNS entry for the remote host.

OUT2 resolves remote_host using the DNS servers configured as properties. In this mode, at least dns1 must be set.

Example:

Property name Value Description
remote_host www.google.com DNS name or the IP address of the remote host to forward all traffic to.
dns_poll 3600 The poll interval for the DNS name, in seconds.
ip_addr 192.168.1.12 IP address for the gateway itself.
netmask 255.255.255.0 Netmask for the gateway.
gateway 192.168.1.1 IP address of a router used to reach remote networks.
dns1 192.168.1.1 Address of a DNS server to use to resolve remote_host.
dns2 192.168.1.2 Address of a backup DNS server (used if the first one is not available).

OUT2 with a remote host by IP address

This mode is used when the IP address of remote_host is fixed or has no DNS records. In this mode the dns_poll proprty is ignored.

Example:

Property name Value Description
remote_host 66.102.7.104 DNS name or the IP address of the remote host to forward all traffic to.
ip_addr 192.168.1.12 IP address for the gateway itself.
netmask 255.255.255.0 Netmask for the gateway.
gateway 192.168.1.1 IP address of a router used to reach remote networks.

Notes

  • OUT2 can not be used for accessing multiple hosts with different addresses. Applications that need to access multiple hosts through the same output, such as STMP servers, can use the NET2 gateway appliance.

  • OUT2 cannot be used for providing incoming requests to an application. Incoming request can be handled using the IN2 gateway appliance.

Open source and 3rd party software used inside of the appliance

OUT2 use the following open source and 3rd party packages in addition to its base install of Busybox OS.

Software Version Modified License Notes
busybox 1.13.4 No GPLv2 homepage
openssh 5.2p1 No BSD homepage
bash 3.1-16.1 No GPLv2 N/A
coreutils 5.97-12.1.el5 No GPLv2 N/A
curl 7.15.5-2.1.el5_3.5 No MIT N/A
dhclient 3.0.5-7.el5 No ISC N/A
e2fsprogs-libs 1.39-8.el5 No GPLv2 N/A
glibc 2.5-12.2 No LGPLv2.1 N/A
grep 2.5.1-54.2.el5 No GPLv2 N/A
initscripts 8.45.14.EL-1.el5.centos.1 No GPLv2 N/A
iproute 2.6.18-4.el5 No GPLv2 N/A
iptables 1.3.5-1.2.1 No GPLv2 N/A
iputils 20020927-43.el5 No BSD N/A
krb5-libs 1.5-23 No MIT, freely distributable N/A
libidn 0.6.5-1.1 No GPLv2 N/A
libtermcap 2.0.8-46.1 No LGPLv2.0 N/A
mingetty 1.07-5.2.2 No GPLv2 N/A
module-init-tools 3.3-0.pre3.1.16.el5 No GPLv2 N/A
openssl 0.9.8b-8.3.el5 No BSD N/A
pcre 6.6-1.1 No BSD N/A
perl 5.8.8-10 No Artistic N/A
procps 3.2.7-8.1.el5 No GPLv2 N/A
strace 4.5.15-1.el5 No BSD N/A
SysVinit? 2.86-14 No GPLv2 N/A
tcpdump 3.9.4-11.el5 No BSD N/A
wget 1.10.2-7.el5 No GPLv2 N/A
zlib 1.2.3-3 No zlib N/A

To see the full list of open source packages used in this appliance, please see its implementation design.

Related Documents

Questions and Comments

IDEA! To post a question or comment on this appliance, visit our forum.


-- AndriyMayevskyy - 27 Jul 2009

 
Copyright © 2005-2010 3tera, Inc. All Rights Reserved.
%