Case Study On Use of Internet

View With Charts And Images

Use of Internet

General objective

The general objective of the report is to expenses the practical experiences by working in a division and to link the theoretical knowledge with its application in real life situation. The objective of the first part of the report is to familiarize Nexdecade Technology Ltd, Bangladesh, It operational activities, the organizational structure, its services in Bangladesh, identifying marketing mix, ratio analysis of financial statement etc.

Scope of the Study

The time frame considered for the study is very limited. Accordingly, the information and data, assumptions, analysis of the data and projections are based upon and restricted within the limited time period. Although several investors have queued to enter the market and few have just recently have started to operate. Considered the service provided by the major operators of the market is considered here.

Methodology

Methodology that was followed to conduct the research was as follows:

(a) Sources of data

To complete this report data were collected from both primary and secondary sources. Working the company, discussing informally with the company personal and making observation during the period of report etc gathered the primary data. Some secondary data were collected to make the report more concrete. These data were collected from different sources; Website of Nexdecade Technology (Pvt.) Ltd., company annual report etc.

(b) Data collection

The data was collected information from the top to low level employees of Nexdecade Technology (Pvt.) Ltd., consumers of different corporation, officials of BTTB, and some informed professionals, such as computer experts, System admin, TS Supervisor, and university teachers through one-to-one conversational interviews. Local computer magazines and available relevant records were also reviewed.

Limitation

Some limitations or barriers were faced while conducting the study. A enthusiastic effort was applied to conducting the study work and to bring a reliable and fruitful result from which proper strategy can be adopted to strengthen the market condition of the Nexdecade Technology (Pvt.) Ltd. In sprit of best efforts there are limitations that acted as barriers to conducting the study. These limitations were:

  • As is grossly under staffed and we were the four persons working as a report, it was very difficult to make time to carry out the company information during hours.
  • Firstly an important limitation was time. Since the report period has a deadline, the preparation of this whole term paper was also bound within a certain period. The time was limited in comparison to the vastness of the topic.
  • The Nexdecade Technology Ltd. due to strategic reasons did not disclose some information.
  • Ultimate dissection of information and data in order to obtain diversified text is not possible in this case due to space and time constraints.
  • The logical and theoretical deductions would not be verified from experts other than those engaged in this particular sector.
  • The report would not be much more reliable and worthwhile because the representative of major players in the market would not be brought to interact face to face and thus contribute to the ideological development of the report.
  • Moreover, it is not unlikely for the representatives of the major players to be at certain extents, possessed by biased views. Accordingly, this may affect the logical progression of the report.

Background of ISP

Introduction to Internet

The Internet is correctly defined as a network of networks. Groups of networked computers, such as those at universities, large governmental agencies and various companies are all connected together. Additionally, small businesses, local non-profit organizations and plenty of individuals and families are also connected to this same inter-network structure, usually through an Internet service provider.

History of the Internet

The Internet began in 1969 when the US Department of Defense commissions the Advanced Research Project Agency to create ARPANET- a huge military network. They came up with a system that sent information broken down into ‘packets’ of data. This system (Transmission Control Protocol/Internet Protocol or TCP/IP) allowed data to move freely around the military network. This meant that if one of its computers became damaged, the data would be able to arrive safely by finding alternative routes. In the early 1980s the American military split away from ARPANET, leaving what became know as the Internet. Academic institutions and other government agencies, such as NSF net (National Science Foundation Network), soon joined the Internet, connecting their own computer network to the system.

The Internet Service Provider

Internet access comes in a variety of connection choices and account types (Type of service contracts) depending on who provide the service and what hardware and software are used. A service provider is a company that gives a person access to the Internet for a fee. There are several types of service providers who offer different types of services and benefits, at different prices.

History of Internet in Bangladesh

  • Internet is a relatively new concept of service in Bangladesh, though it has become a very popular service around the globe for almost a decade. In our country, this service actually started in 1992 by ProdeshtaNet. It is notable that, ProdeshtaNet was operating off-line. But at that time only a few got the opportunity to get acquainted with this technology.
  • E-mail service was started in Bangladesh through a small private initiative sometime in late 1993. Another private organization came with a bulletin board service (BBS) with Internet e-mails and newsgroups in late 1994 that attracted many subscribers because of its good price package.

ISP Situation in Bangladesh

  • Situations have been improved lately due to the withdrawal of the imposition on VSAT by the government and at present there are about 45 Independent (private) ISP companies, including the government owned BTTB. Three of them are located in Sylhet; three in Chittagong and rest are in Dhaka.
  • Anyone can install a VSAT with a simple permission from BTTB. Cost of VSAT equipment are nearly USD 40,000 and annual monthly lease fee to the Internet provider costs around USD 24,000 with an additional mandatory annual fee of USD 3500 to BTTB. Legal framework now also permits ISPs to float Public share in the stock exchange

Potential Clients

  • Internet is becoming more and more popular in Bangladesh everyday. Even the senior citizens who are not that much interested in computers, find Internet very useful to communicate with people home and abroad.
  • The professional groups like physicians, engineers, lawyers, bankers and service-holders are the potential clients. They use Internet for information purpose.
  • Another important group of potential clients is student. Every year a huge number of students go abroad for higher education. These students need information on various universities from which they would select a suitable one. Then they have to communicate with that universities and vise versa. All these mean lots of Internet uses.

Customer concentration across the country

Figure 5.1 Customer concentrations across the country

Most of the customers reside in Dhaka, as the country’s telecommunication system and telephone network is capital based, the pother areas of the country do not even has the necessary infrastructure to use the Internet. Beside Dhaka, there are some users in Chittagong and Sylhet and Khulna. Outside Dhaka, although some local entrepreneurs are trying to enter the new segment of business-industry, the infrastructure-backwardness and economical condition of the populace is the most critical barrier to a successful endeavor in the ISP business.

How ISP Works:

About Nexdecade Technology (Pvt.) Ltd.

Nexdecade Technology (Pvt.) Ltd. is one of Bangladeshi’s leading Internet and IP communications solutions Provider

For more than a decade, information Technology (IT) has played a key role in the domestic and international economy. It seems that IT will continue on this course for vary long time. Nexdecade Technology has Picked up on this new business trend. We understand the ever-expanding market and anticipate the imminent global surge of cybernetics.

Nexdecade Technology (Pvt.) Ltd. can offer its clients the required level of stability, security, reliability and network coverage.

All about the organization

Nexdecade Technology (Pvt.) Ltd.

44F/6, Flat-402, Tejtori Bazar Chwak

(West Panthapath), Tejgaon,

Dhaka-1215, Bangladesh

Phone: +88029138417

Fax: Ext.888

Web: http://www.nexdecade.com

E-mail: info@nexdecade.com.

VISION

To become the leading quality Internet and WAN Service Provider in the country as measured by market leadership & customer satisfaction. We will strive to be the preferred partner to our customers by providing appropriate and cost-effective communication solutions.

MISSION

Enriching life by enabling reliable and affordable Internet & communication anytime, anywhere. We are committed to being Bangladeshis premier business enabler by designing and managing a high performance Internet backbone.

OBJECTIVES

  • To be a Lead ICT Services Provider.
  • Build customers confidence through quality and reliable service.
  • To provide high speed Internet connectivity
  • To provide Virtual Private Network (VPN) service to the Corporate customers
  • To provide multicast video services, video-on-demand, etc. through the Broadband Remote Access Server

Products & Services

Nexdecade Technology was established at the beginning of the millennium to offer the customers more productive service in the friendliest environment. Last 6 (six) years of operation company is offering Internet and wide range of data connectivity solutions which can give you the off–the-shelf instant access as well as highly customized solutions specifically designed to meet your needs. Now Nexdecade Technology (Pvt.) Ltd. is providing the following services.

  • Dedicated Broadband Solution.
  • Corporate Dialup (Pre-paid regular & unlimited, postpaid).
  • Office to office network connectivity.
  • Corporate office LAN Solutions.
  • VPN Solution.
  • Server co-location Services.

Dedicated Broadband Solution:

Nexdecade Technology is providing high speed point to point and Point to multi point Internet connectivity through Fiber optics Network and Wireless for corporate clients with BTTB (Submarine) and VSAT.

Figure 3.1: Nexdecade Dedicated Broadband Solution

Corporate Dial Up:

It is an internet service provided to corporations as well as house holds, offices etc. one has to just buy a card to go online. Installation is easy and rate is low. There are two types of dial up: Pre-paid and Post Paid.

Pre-paid: One has to just buy a card to go online. Installation is easy and rate is low ( TK.50 per minute)

Post-paid: This is the regular option that has been available since the beginning of internet in Bangladesh. Installation fee TK 1000.

Unlimited: Unlimited dial up connections are available on advanced monthly payment.

Office to Office Network Setup:

Nexdecade Technology specializes in LAN, MAN, WAN solutions for medium to large businesses with multiple office locations in need of inter-office collaboration and efficient data sharing

Service features:

» Shared applications like email, calendar and task scheduling and other features to aid collaboration in the office

» Data, video Conferencing and other inter-office communication/ collaboration facilities

» Customized security options and access permissions to safeguard centralized data

» Powerful high-bandwidth fibre optic network for fast and error-free data transfer in large volumes

Corporate Office LAN Solution

Nexdecade Technology specializes in LAN, MAN, WAN solutions for medium to large businesses with multiple office locations in need of inter-office collaboration and efficient data sharing

Service features:

» Customized security options and access permissions to safeguard centralized data

» To share office activity between of department LAN has performed main task.

VPN Solution:

With the widespread adoption of high-speed data services, such as Fiber Optic, Radio Link, cable, DSL and satellite, distributed organizations are seeking ways to support data access at branch locations, secured by VPN technology. They are deploying Internet Protocol Virtual Private Networks (IP VPNs) to support their enterprise applications and strategic business initiatives at an unprecedented rate.

Multinational enterprises usually have two choices for their communication needs—the creation of a private network using leased lines, or the use of the broader public Internet. The first option is highly secure but costly, while the second offers inexpensive access, but brings with it potential problems with security. IP VPNs (IP-enabled Virtual Private Networks) offer the advantages of both options—multinationals can enjoy the security of a private network using access control and encryption, while taking advantage of the economies of scale and management capabilities of large public networks. IP VPNs are run over our global IP network for fully meshed, any-to-any connectivity between multiple locations for a lower cost of ownership than a private network.

Figure 3.2: VPN Solution

Introduction about Linux server

The Linux system administrator guide describes the system administration aspects of using Linux. It is intended for people who know next to nothing about system administration (as in “what is it”), but who have already mastered at least the basics of normal usage. This manual also doesn’t tell you how to install Linux; that is described in the installation and Getting Stared document. See below for more information about Linux manuals.

System administration is all the things that one has to do to keep a computer system in a useable shape. It includes thins like backing up files (and restoring them if necessary), installing new programs, creating accounts for users (and deleting them when no longer needed), making certain that the file system is not corrupted, and so on. If a computer were, say, a house, system administration would be called maintenance, and would include cleaning, fixing broken windows, and others such things. System administration is not called maintenance, because that would be too simple.

There is no one official Linux distribution, so different people have different setups, and many people have a setup they built up themselves. This book is not targeted at any one distribution, even though I use the Debian GNU/Linux system almost exclusively. When possible, I have tried to point out differences, and explain several alternatives.

What is Linux?

Linux is a free open source operating system originally developed by Linux Tornados in the early 10. It w released as open source and remains a worldwide developed operating system mainly distributed via the Internet. Linux is a popular operating system for developers, computer enthusiasts, Internet Service Providers, and corporations using it for various functions from workstations to network services. It is most popular as a server, ranging from Web servers to mail servers to FTP servers.

Importance of Linux

Linux is an up-and-coming competing operating system with Microsoft Windows. It is available on a wide range of platforms, but the most popular platforms are the PC. As an operating system, it still has a few3 quarks and things which are different than Windows, and for companies pursuing Linux and a replacement OS, this training can help introduce the employees and management to Linux.

Brief History of Linux

UNIX is one of the most popular operating systems worldwide because of its large support base and distribution. It was originally developed as a multitasking system for minicomputers and mainframes in the mid-1970s. it has since grown to become one of the widely used operating systems anywhere, despite its sometimes confusing interface and lack of central standardization.

The real reasons for UNIX’s popularity many hackers feel that UNIX is the Right Thing—the One True Operating System. Hence, developments of Linux by an expanding group of UNIX hackers who want to get their hands dirty with their own system.

Versions of UNIX exits for many systems, ranging form personal computers to supercomputers such as the Cray Y-MP. Most versions of UNIX for personal computers are quite expensive and cumbersome. At the time of this writing, a one-machine version of AT&T’s system V for the 36 runs at about $US1500.

Linux is a freely distributable version of UNIX, originally developed by Linus Torvalds, who began word on Linux in 1991 as a student at the University of Helsinki in Finland. Linus now works for Transmeta Corporation, a start-up in Santa Clara, California, and continues to maintain the Linux kernel, that is, the lowest-level core component of the operating system.

Linux released the initial version of Linux for free on the Internet, inadvertently spawning one of the largest software-development phenomena of all time. Today, Linux is authored and maintained by a group of several thousands developers loosely collaborating across the Internet. Companies have sprung up to provide Linux support, to package it into easy-to-install distributions, and to sell workstations pre-installed with the Linux software. In March 1999, the first Linux World Expo trade shows held in San Jose, California, with reportedly well over 12,000 people in attendance. Most estimates place the number of Linux users worldwide somewhere around the 10 million mark.

Inspired by Andrew Tanenbaum’s Minix operating system, Linux began as a class project in which Linux wanted to build a simple UNIX system that could run on a 386-based PC. The first discussions about Linux were on the Usenet newsgroup comp.os.minix. These discussions were concerned mostly with the development of a small, academic Unix UNIX system for Minix users who wanted more.

The very early development of Linux dealt mostly with the task-switching features of the 80386 protected-mode interface, all written in assemble code. Linux Writes:

After that it was plain sailing: hairy coding still, buy I had some devices, and debugging was easier. I started using C at this stage, and it certainly speeds up developments. This is also when I start to get serious about my megalomaniac ideas to make “a better Minix than Minix.” I was bopping I’d be able to recompile gcc under Linux some day.

Two months for basic setup, but then only slightly longer until I had a disk driver and small file system. That was about when I made 0.01 available [around late August of 1991]: it was not pretty, it had no floppy driver, and it could not do much anything. I do not think anybody ever compiled that version. But by then I was hooked, and did not want to stop until I could out Minix.

No announcement was ever made for Linux Version 0.01. The 0.01 sources weren’t even executable: they contained only the bare rudiments of the kernel source and assumed that you had access to a Minix machine to compile and play with them.

On October 5, 1991, Linux announced the first “official” version of Linux, version 0.02. At this point, Linux was able to run bash (the GNU Bourne Again Shell) and gcc (the GNU C compiler), but not much else was working. Again, this intended as a hacker’s systems. The primary focus was kernel development; none of the issues of user support, documentation, distribution, and so on had even been addressed. Today, the situation is quite different—the real excitement in the Linux world deals with graphical user environments, easy-to-install distribution packages, and high-level applications such as graphics utilities and productivity suites.

Difference between Linux and other Operating systems

It is important to understand the difference between Linux and other Operating Systems, such as Windows 95/98, Windows NT, OS/2, and other implementations of UNIX for the personal computer. First of all, it should be made clear that Linux will coexist happily with other operating systems on the same machine: that is, you can run Windows NT and OS/2 along with Linux on the same system without problems. There are even to interact between the various operating systems, as you’ll see.

Uses of Linux

Why use Linux instead of a commercial operating system? We could give you a thousand reasons. One of the most important, however, is that Linux is an excellent choice for personal UNIX computing. If you are a UNIX software developer, why use Windows at home? Linux will allow you to develop and test UNIX software on your PC, including database and X applications. If you are a student, chances are that your university computing system runs UNIX. With Linux, you can run your own UNIX system and tailor it to your own needs. Installing and running Linux is also an excellent way to learn UNIX if do not have access to other UNIX machines.

But let’s not lose perspective. Linux is not just for personal UNIX users. It is robust and complete enough to handle large tasks, as well as distributed computing needs. Many businesses are moving to Linux in lieu of other Unix-based workstation environments. Linux has an excellent price-performance ratio, is one of the most stable and powerful operating system available, and because of its open source nature, is completely customizable for your needs. Universities are finding Linux to be perfect for teaching courses in operating systems design. Larger commercial software vendors are starting to realize the opportunities operating system can provide.

Linux versus Windows 95 and 98

It is non rare to run Linux and Windows 95/ 98 within a same system. Many Linux users rely on Windows for applications such as word processing and productivity tools. While Linux provides its own analogs for these applications and commercial software support for Linux is increasing, there are various reasons why a particular user would want to run Windows as well as Linux. If your entire dissertations are written using Microsoft Word, you may not be able to easily convert it to TeX or some other format. There are many commercial application applications for Windows that aren’t available for Linux, and there are no reasons why you can not use both.

As your might know, Windows 95 and 98 do not fully utilize the functionality or the x86 processor. On the other hand, Linux runs completely in the processors protected mode and exploits all of the features of the machine, including multiple processors.

We could not debate the pros and cons of windows and Linux for pages on end. However, suffice it to say that Linux and Windows are completely are completely different entities. Windows is inexpensive and has a strong foothold in the PC computing world. No other operating system for the PC has reached the level of popularity of Windows, largely because the cost of these other operating system is unapproachable for most personal computer users. Very few PC user can imagine spending a thousands dollars or more on the operating system alone. Linux, however, is free, and you finally have the chance to decide.

We will allow you to make your own judgment of Linux and Windows based on your expectation and needs. Linux is not for everybody. But if you have always wanted to run a complete UNIX system at home, without the high cost of other UNIX implementations for the PC, Linux may be what you are looking for.

There are tools available to allow you to interact between Linux and Windows. For example, it is easy to access Windows files from Linux. Development is proceeding on the Wine Windows emulator, which allows you to run many popular applications.

Linux versus Windows NT

A number of other advanced operating systems are on the rise in the PC world. Specifically, Microsoft’s Windows NT is becoming very popular for server computing.

Windows NT, like Linux, is a full multitasking operating system, supporting multiprocessor machines, several CPU architectures, virtual memory, networking, security, and so on. However, the real difference between Linux and Windows NT is that Linux is a version of UNIX and hence benefits from the contributions of the Unix community at large.

There are many implementations of UNIX from many vendors. There is a large push in the UNIX community for standardization in the form of open systems, but no single corporation controls this design. Hence, any vendor may implement these standards in an implementation of UNIX.

Windows NT, on the other hand, is proprietary system. The interface and design are controlled by a single corporation, Microsoft, and only that corporation may implement the design. In one sense, this kind of organization is beneficial: it sets a strict standard for the programming and user interface unlike that found even in the open systems community. NT is NT whenever you go.

It seems likely that in the coming years, Linux and Windows NT will be battling it out for their share of the server computing market. Windows NT has behind it the full force of the Microsoft marketing machine, while Linux has a community of thousands of developers helping to advance the system through the open source model. So far, benchmarks of Linux versus Windows NT have demonstrated that each system has its strengths and weaknesses; however, Linux wins hand-down in a number of areas, most notably networking performance.

Linux is also much smaller than Windows NT, has a much better price-performance ratio, and is generally seen as more stable. It might seem amazing that “Little” Linux gives Microsoft serious competition, but it’s not surprising when you realize how effective the open source development process rally is.

Other Implementations of UNIX

There is several other implementation of UNIX for the personal computer. The Intel x86 architecture lends itself to the UNIX design, and a number of vendors have taken advantages of this, including Sun, SCO, and BSDI.

In terms of features, other implementations of UNIX for the PC are quite similar to Linux. You will see that almost all commercial several of UNIX supports roughly the same software, programming environment, and networking features. However, there are some major differences between Linux and commercial versions of UNIX. This stems primarily form Linux roots as a “personal” UNIX system, rather than one that’s runs only on large servers.

First of all, Linux supports a much wider range of hardware than other UNIX implementations, simply because there is more demand under Linux to support very crazy brand of sound, graphics, network, and SCSI board. Plus, under the Open Source model, anyone with enough time and interest to write a driver for a particular board is able to do so we will cover the hardware requirements for Linux in the next section.

The most important factor to consider for many users is price. The Linux software is free if you have access to the Internet and can download. If you don’t such packages often include bundled documentation and support. Of course, you may copy Linux from a friend who may already have the software or share the cost of purchasing it with someone else. If you are planning to install Linux on a large number of machines, you need only purchase a single copy of the software; Linux is distributed with a “single machine” license.

The value of commercial UNIX implementations should not be demeaned: along with the price of the software itself, you usually pay for documentation, support, and assurance of quality. These are important factors for large institutions, but personal computer users may not require these benefits. A number of companies, including Red Hat and Linux care, are now providing commercial Linux support. Caldera, another Linux distributor, Offers 24×7 supports. In any case, many businesses and Universities are finding that running Linux in a lab of inexpensive personal computers is preferable to running commercial versions of UNIX in a lab of workstations. Linux can provide the functionality of a workstation on PC hardware at fraction of the cost.

There are other free or inexpensive implementation of UNIX for the x86. One of the most well known is FreeBSD, an implementation and port of BSD Unix for the 386. FreeBSD is comparable to Linux in many ways, but deciding which one is “better” depends on your own needs and expectations. The only strong distinction we can make is that Linux is developed openly, while FreeBSD is developed within a closed team of programmers who maintain the system. Because of this, serious pro philosophical and design differences exits between the two projects. The goals of two scratch, and the goal of FreeBSD is in part to modify the existing BSD code for use on the x86.

NetBSD is another port of the BSD NET/2 distribution to a number of machines, including the x86. Net BSD has a slightly more open development structure and is comparable to FreeBSD in many respects. Open BSD is still another version of BSD.

Anther project of note is the HURD, an effort by the Free Software Foundation to develop and distribution a free version of UNIX for many platforms. Contact the Free Software Foundation for more information about this project. At the time of this writing, HURD is still in early stages of development and interests in it have been mostly superseded by Linux.

Other inexpensive versions of UNIX exist as well, such as Minis (an academic but useful UNIX clone upon which the early development of Linux was based). Some of these implementations are of mostly academic interest, while others are full-fledged systems for real productivity. But many personal UNIX users are moving to Linux.

Configuring Sendmail

One of the tasks in setting up DNS for your domain (my-site.com) is to use the MX record in the configuration zone file to state the hostname of the server that will handle the mail for the domain. The most popular Unix mail transport agent is sendmail, but others, such as postfix and qmail, are also gaining popularity with Linux. The steps used to convert a Linux box into a sendmail mail server will be explained here.

How Sendmail Works

As stated before, sendmail can handle both incoming and outgoing mail for your domain. Take a closer look.

Incoming Mail

  • Usually each user in your home has a regular Linux account on your mail server. Mail sent to each of these users (username@my-site.com) eventually arrives at your mail server and sendmail then processes it and deposits it in the mailbox file of the user’s Linux account.
  • Mail isn’t actually sent directly to the user’s PC. Users retrieve their mail from the mail server using client software, such as Microsoft’s Outlook or Outlook Express that supports either the POP or IMAP mail retrieval protocols.
  • Linux users logged into the mail server can read their mail directly using a text-based client, such as mail, or a GUI client, such as Evolution. Linux workstation users can use the same programs to access their mail remotely.

Outgoing Mail

  • The process is different when sending mail via the mail server. PC and Linux workstation users configure their e-mail software to make the mail server their outbound SMTP mail server.
  • If the mail is destined for a local user in the mysite.com domain, then sendmail places the message in that person’s mailbox so that they can retrieve it using one of the methods above.
  • If the mail is being sent to another domain, sendmail first uses DNS to get the MX record for the other domain. It then attempts to relay the mail to the appropriate destination mail server using the Simple Mail Transport Protocol (SMTP). One of the main advantages of mail relaying is that when a PC user A sends mail to user B on the Internet, the PC of user A can delegate the SMTP processing to the mail server.
  • Note: If mail relaying is not configured properly, then your mail server could be commandeered to relay spam. Simple sendmail security will be covered later.

Sendmail Macros

When mail passes through a sendmail server the mail routing information in its header is analyzed, and sometimes modified, according to the desires of the systems administrator. Using a series of highly complicated regular expressions listed in the /etc/mail/sendmail.cf file, sendmail inspects this header and then acts accordingly.

In recognition of the complexity of the /etc/mail/sendmail.cf file, a much simpler file named /etc/sendmail.mc was created, and it contains more understandable instructions for systems administrators to use. These are then interpreted by a number of macro routines to create the sendmail.cf file. After editing sendmail.mc, you must always run the macros and restart sendmail for the changes to take effect.

Each sendmail.mc directive starts with a keyword, such as DOMAIN, FEATURE, or OSTYPE, followed by a subdirective and in some cases arguments. A typical example is.

As stated before, sendmail can handle both incoming and outgoing mail for your domain. Take a closer look.

FEATURE(`virtusertable’,`hash -o /etc/mail/virtusertable.db’)dnl

The keywords usually define a subdirectory of /usr/share/sendmail-cf in which the macro may be found and the subdirective is usually the name of the macro file itself. So in the example, the macro name is /usr/share/sendmail-cf/feature/virtusertable.m4, and the instruction `\ hash -o /etc/mail/virtusertable.db’ is being passed to it.

Notice that sendmail is sensitive to the quotation marks used in the m4 macro directives. They open with a grave mark and end with a single quote.

FEATURE (`masquerade_envelope’)dnl

Some keywords, such as define for the definition of certain sendmail variables and MASQUERADE_DOMAIN, have no corresponding directories with matching macro files. The macros in the /usr/share/sendmail-cf/m4 directory deal with these.

Once you finish editing the sendmail.mc file, you can then execute the make command while in the /etc/mail directory to regenerate the new sendmail.cf file.

[root@bigboy tmp]# cd /etc/mail

[root@bigboy mail]# Make

If there have been no changes to the files in /etc/mail since the last time make was run, then you’ll get an error like this:

  • [root@bigboy mail]# make
  • Make: Nothing to be done for `all’.
  • [root@bigboy mail]#
  • The make command actually generates the sendmail.cf file using the m4 command. The m4 usage is simple, you just specify the name of the macro file as the argument, in this case sendmail.mc, and redirect the output, which would normally go to the screen, to the sendmail.cf file with the “>” redirector symbol.
  • [root@bigboy tmp]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Installing Sendmail

Most RedHat and Fedora Linux software products are available in the RPM format. You will need to make sure that the sendmail, sendmail-cf, and m4 software RPMs are installed. (Chapter 6, “Installing RPM Software”, will tell you how.) When searching for the RPMs, remember that the filename usually starts with the software package name by a version number, as in sendmail-8.12.10-1.1.1.i386.rpm.

Starting Sendmail

You can use the chkconfig command to get sendmail configured to start at boot:

  • [root@bigboy tmp]# chkconfig sendmail on
  • To start, stop, and restart sendmail after booting, use
  • [root@bigboy tmp]# service sendmail start
  • [root@bigboy tmp]# service sendmail stop
  • [root@bigboy tmp]# service sendmail restart

Remember to restart the sendmail process every time you make a change to the configuration files for the changes to take effect on the running process. You can also test whether the sendmail process is running with the pgrep command:

  • [root@bigboy tmp]# pgrep sendmail
  • You should get a response of plain old process ID numbers.

How to Restart Sendmail after Editing Configuration Files

In this chapter, you’ll see that sendmail uses a variety of configuration files that require different treatments for their commands to take effect. This little script encapsulates all the required post configuration steps.

#!/bin/bash

cd /etc/mail

make

newaliases

/etc/init.d/sendmail restart

It first runs the make command, which creates a new sendmail.cf file from the sendmail.mc file and compiles supporting configuration files in the /etc/mail directory according to the instructions in the file /etc/mail/Makefile. It then generates new e-mail aliases with the newaliases command, (this will be covered later), and then restarts sendmail.

Use this command to make the script executable.

chmod 700 filename

You’ll need to run the script each time you change any of the sendmail configuration files described in the sections to follow.

The line in the script that restarts sendmail is only needed if you have made changes to the /etc/mail/sendmail.mc file, but I included it so that you don’t forget. This may not be a good idea in a production system.

Note: When sendmail starts, it reads the file sendmail.cf for its configuration. sendmail.mc is a more user friendly configuration file and really is much easier to fool around with without getting burned. The sendmail.cf file is located in different directories depending on the version of RedHat you use. The /etc/sendmail.cf file is used for versions up to 7.3, and /etc/mail/sendmail.cf is used for versions 8.0 and higher and Fedora Core.

The /etc/mail/sendmail.mc File

You can define most of sendmail’s configuration parameters in the /etc/mail/sendmail.mc file, which is then used by the m4 macros to create the /etc/mail/sendmail.cf file. Configuration of the sendmail.mc file is much simpler than configuration of sendmail.cf, but it is still often viewed as an intimidating task with its series of structured directive statements that get the job done. Fortunately, in most cases you won’t have to edit this file very often.

How to Put Comments in sendmal.mc

In most Linux configuration files a # symbol is used at the beginning of a line convert it into a comment line or to deactivate any commands that may reside on that line.

The sendmail.mc file doesn’t use this character for commenting, but instead uses the string “dnl”. Here are some valid examples of comments used with the sendmail.mc configuration file:

These statements are disabled by dnl commenting.

dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA’)

dnl # DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA’)

This statement is incorrectly disabled:

# DAEMON_OPTIONS (`Port=smtp,Addr=127.0.0.1, Name=MTA’)

This statement is active:

DAEMON_OPTIONS (`Port=smtp,Addr=127.0.0.1, Name=MTA’)

Configuring DNS for sendmail

Remember that you will never receive mail unless you have configured DNS for your domain to make your new Linux box mail server the target of the DNS domain’s MX record. See Chapter 18, “Configuring DNS”, or Chapter 19, “Dynamic DNS”, for details on how to do this.

Configure Mail Server’s Name In DNS

You first need to make sure that your mail server’s name resolves in DNS correctly. For example, if your mail server’s name is bigboy and it you intend for it to mostly handle mail for the domain my-site.com, then bigboy.my-site.com must correctly resolve to the IP address of one of the mail server’s interfaces. You can test this using the host command:

[root@smallfry tmp]# host bigboy.my-site.com

bigboy.my-site.com has address 192.168.1.100

[root@smallfry tmp]#

You will need to fix your DNS server’s entries if the resolution isn’t correct.

Configure the /etc/resolv.conf File

The sendmail program expects DNS to be configured correctly on the DNS server. The MX record for your domain must point to the IP address of the mail server.

The program also expects the files used by the mail server’s DNS client to be configured correctly. The first one is the /etc/resolv.conf file in which there must be a domain directive that matches one of the domains the mail server is expected to handle mail for.

Finally, sendmail expects a nameserver directive that points to the IP address of the DNS server the mail server should use to get its DNS information.

For example, if the mail server is handling mail for my-site.com and the IP address of the DNS server is 192.168.1.100, there must be directives that look like this:

  • Domain my-site.com
  • Name server 192.168.1.100
  • An incorrectly configured resolv.conf file can lead to errors when running the m4 command to process the information in your sendmail.mc file.

WARNING: local host name (smallfry) is not qualified; fix $j in config file

The /etc/hosts File

The /etc/hosts file also is used by DNS clients and also needs to be correctly configured. Here is a brief example of the first line you should expect to see in it:

  • 127.0.0.1 bigboy.my-site.com localhost.localdomain localhost bigboy
  • The entry for 127.0.0.1 must always be followed by the fully qualified domain name (FQDN) of the server. In the case above it would be bigboy.my-site.com. Then you must have an entry for localhost and localhost.localdomain. Linux does not function properly if the 127.0.0.1 entry in /etc/hosts doesn’t also include localhost and localhost.localdomain. Finally you can add any other aliases your host may have to the end of the line.

How to Configure Linux Send mail Clients

  • All Linux mail clients in your home or company need to know which server is the mail server. This is configured in the sendmail.mc file by setting the SMART_HOST statement to include the mail server. In the example below, the mail server has been set to mail.my-site.com, the mail server for the my-site.com domain.
  • define(`SMART_HOST’,`mail.my-site.com’)
  • If you don’t have a mail server on your network, you can either create one, or use the one offered by your ISP.
  • Once this is done, you need to process the sendmail.mc file and restart sendmail. To do this, run the restarting script we from earlier in the chapter.
  • If the sendmail server is a Linux server, then the /etc/hosts file will also have to be correctly configured too.

Converting From a Mail Client to a Mail Server

All Linux systems have a virtual loopback interface that lives only in memory with an IP address of 127.0.0.1. As mail must be sent to a target IP address even when there is no NIC in the box, sendmail therefore uses the loopback address to send mail between users on the same Linux server. To become a mail server, and not a mail client, sendmail needs to be configured to listen for messages on NIC interfaces as well.

1) Determine which NICs sendmail is running on. You can see the interfaces on which sendmail is listening with the netstat command. Because sendmail listens on TCP port 25, you use netstat and grep for 25 to see a default configuration listening only on IP address 127.0.0.1 (loopback):

[root@bigboy tmp]# netstat -an | grep :25 | grep tcp

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN

[root@bigboy tmp]#

2) Edit sendmail.mc to make sendmail listen on all interfaces. If sendmail is listening on the loopback interface only, you should comment out the daemon options line in the /etc/mail/sendmail.mc file with dnl statements. It is also good practice to take precautions against spam by not accepting mail from domains that don’t exist by commenting out the accept irresolvable domains feature too. See the fourth and next to last lines in the example.

dnl This changes sendmail to only listen on the loopback

dnl device 127.0.0.1 and not on any other network

dnl devices. Comment this out if you want

dnl to accept email over the network.

dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA’)

dnl

dnl

dnl We strongly recommend to comment this one out if you want

dnl to protect yourself from spam. However, the laptop and

dnl users on computers that do

dnl not have 24×7 DNS do need this.

dnl FEATURE(`accept_unresolvable_domains’)dnl

dnl FEATURE(`relay_based_on_MX’)dnl

dnl

Note: You need to be careful with the accept_unresolvable_names feature. In the sample network, bigboy the mail server does not accept e-mail relayed from any of the other PCs on your network if they are not in DNS. Chapter 18, “Configuring DNS”, shows how to create your own internal domain just for this purpose.

A General Guide to Use The sendmail.mc File

The sendmail.mc file can seem jumbled. To make it less cluttered I usually create two easily identifiable sections in it with all the custom commands I’ve ever added.

The first section is near the top where the FEATURE statements usually are, and the second section is at the very bottom.

Sometimes sendmail will archive this file when you do a version upgrade. Having easily identifiable modifications in the file will make post upgrade reconfiguration much easier. Here is a sample:

dnl ***** Customized section 1 start *****

dnl

dnl

FEATURE(delay_checks)dnl

FEATURE(masquerade_envelope)dnl

FEATURE(allmasquerade)dnl

FEATURE(masquerade_entire_domain)dnl

dnl

dnl

dnl ***** Customized section 1 end *****

The /etc/mail/relay-domains file

The /etc/mail/relay-domains file is used to determine domains from which it will relay mail. The contents of the relay-domains file should be limited to those domains that can be trusted not to originate spam. By default, this file does not exist in a standard RedHat / Fedora install. In this case, all mail sent from my-super-duper-site.com and not destined for this mail server will be forwarded:

My’s-super-duper-site.com

One disadvantage of this file is that controls mail based on the source domain only, and source domains can be spoofed by spam e-mail servers. The /etc/mail/access file has more capabilities, such as restricting relaying by IP address or network range and is more commonly used. If you delete /etc/mail/relay-domains, then relay access is fully determined by the /etc/mail/access file.

Be sure to run the restart send mail script from the beginning of the chapter for these changes to take effect.

The /etc/mail/access File

You can make sure that only trusted PCs on your network have the ability to relay mail via your mail server by using the /etc/mail/access file. That is to say, the mail server will relay mail only for those PCs on your network that have their e-mail clients configured to use the mail server as their outgoing SMTP mail server. (In Outlook Express, you set this using: Tools>Accounts>Properties>Servers)

If you don’t take the precaution of using this feature, you may find your server being used to relay mail for spam e-mail sites. Configuring the /etc/mail/access file will not stop spam coming to you, only spam flowing through you.

The /etc/mail/access file has two columns. The first lists IP addresses and domains from which the mail is coming or going. The second lists the type of action to be taken when mail from these sources or destinations is received. Keywords include RELAY, REJECT, OK (not ACCEPT), and DISCARD. There is no third column to state whether the IP address or domain is the source or destination of the mail, sendmail assumes it could be either and tries to match both. All other attempted relayed mail that doesn’t match any of the entries in the /etc/mail/access file, sendmail will reject. Despite this, my experience has been that control on a per e-mail address basis is much more intuitive via the /etc/mail/virtusertable file.

The sample file that follows allows relaying for only the server itself (127.0.0.1, localhost), two client PCs on your home 192.168.1.X network, everyone on your 192.168.2.X network, and everyone passing e-mail through the mail server from servers belonging to my-site.com. Remember that a server will be considered a part of my-site.com only if its IP address can be found in a DNS reverse zone file:

localhost.localdomain RELAY

localhost RELAY

127.0.0.1 RELAY

192.168.1.16 RELAY

192.168.1.17 RELAY

192.168.2 RELAY

my-site.com RELAY

You’ll then have to convert this text file into a sendmail readable database file named /etc/mail/access.db. Here are the commands you need:

[root@bigboy tmp]# cd /etc/mail

[root@bigboy mail]# Make

The sendmail restart script we configured at the beginning of the chapter does this for you too.

Remember that the relay security features of this file may not work if you don’t have a correctly configured /etc/hosts file.

The /etc/mail/local-host-names File

When sendmail receives mail, it needs a way of determining whether it is responsible for the mail it receives. It uses the /etc/mail/local-host-names file to do this. This file has a list of hostnames and domains for which sendmail accepts responsibility. For example, if this mail server was to accept mail for the domains my-site.com and another-site then the file would look like this:

my-site.com

another-site.com

In this case, remember to modify the MX record of the another-site.com DNS zonefile point to my-site.com. Here is an example (Remember each “.” is important):

; Primary Mail Exchanger for another-site.com

another-site.com. MX 10 mail.my-site.com.

Which User Should Really Receive The Mail?

After checking the contents of the virtusertable, sendmail checks the aliases files to determine the ultimate recipient of mail.

The /etc/mail/virtusertable file

The /etc/mail/virtusertable file contains a set of simple instructions on what to do with received mail. The first column lists the target email address and the second column lists the local user’s mail box, a remote email address, or a mailing list entry in the /etc/aliases file to which the email should be forwarded.

If there is no match in the virtusertable file, sendmail checks for the full email address in the /etc/aliases file.

webmaster@another-site.com webmasters

@another-site.com marc

sales@my-site.com sales@another-site.com

paul@my-site.com paul

finance@my-site.com paul

@my-site.com error:nouser User unknown

In this example, mail sent to:

webmaster@another-site.com will go to local user (or mailing list) webmasters, all other mail to another-site.com will go to local user marc.

Sales at my-site.com will go to the sales department at my-othersite.com.

Paul and finance at my-site.com goes to local user (or mailing list) Paul

All other users at my-site.com receive a bounce back message stating “User unknown”.

After editing the /etc/mail/virtusertable file, you have to convert it into a sendmail-readable database file named /etc/mail/virtusertable.db with two commands:

[root@bigboy tmp]# cd /etc/mail

[root@bigboy mail]# make

If these lines look like you’ve seen them before, you have: They’re in your all-purpose sendmail restart script.

The /etc/aliases File

You can think of the /etc/aliases file as a mailing list file. The first column has the mailing list name (sometimes called a virtual mailbox), and the second column has the members of the mailing list separated by commas.

To start, sendmail searches the first column of the file for a match. If there is no match, then sendmail assumes the recipient is a regular user on the local server and deposits the mail in their mailbox.

If it finds a match in the first column, sendmail notes the nickname entry in the second column. It then searches for the nickname again in the first column to see if the recipient isn’t on yet another mailing list.

If sendmail doesn’t find a duplicate, it assumes the recipient is a regular user on the local server and deposits the mail in their mailbox.

If the recipient is a mailing list, then sendmail goes through the process all over again to determine if any of the members is on yet another list, and when it is all finished, they all get a copy of the e-mail message.

In the example that follows, you can see that mail sent to users bin, daemon, lp, shutdown, apache, named, and so on by system processes will all be sent to user (or mailing list) root. In this case, root is actually an alias for a mailing list consisting of user marc and webm