# sendmail masquerading



## fullauto (Jun 20, 2012)

*W*hen I send mail from my server, it goes to the recipient as "from: root@machine.domain.com."

I tried using the method I found in the O'Reilly book, but without success.


```
[root@hubert]/root-> cd /etc/mail
[root@hubert]/etc/mail-> ls
Makefile                freebsd.mc              local-host-names
README                  freebsd.submit.cf       mailer.conf
access                  freebsd.submit.mc       mailertable.sample
access.db               helpfile                sendmail.cf
access.sample           hubert.cf               submit.cf
aliases                 hubert.mc               virtusertable.sample
aliases.db              hubert.submit.cf
freebsd.cf              hubert.submit.mc
[root@hubert]/etc/mail->
```


```
[root@hubert]/etc/mail-> tail hubert.mc

MASQUERADE_AS(`spreadspectrum.net')
FEATURE(`limited_masquerade')
LOCAL_DOMAIN(`hubert.spreadspectrum.net')
MASQUERADE_DOMAIN(`SpreadSpectrum.net')

MAILER(local)
MAILER(smtp)


[root@hubert]/etc/mail->
```

Can anyone shed some light on this?


----------



## wblock@ (Jun 20, 2012)

```
MASQUERADE_AS(`spreadspectrum.net')
MASQUERADE_DOMAIN(`SpreadSpectrum.net')
FEATURE(`limited_masquerade')
FEATURE(`masquerade_envelope')
```

I use 
	
	



```
FEATURE(`masquerade_entire_domain')
```
 haven't tried the limited version.


----------



## fullauto (Jun 20, 2012)

Please excuse my newbness, but where to do you put that? Which mc file? *A*nd is that one FEATURE statement all I need, or do I need the rest of the goop the book told me as well?


----------



## wblock@ (Jun 20, 2012)

All four statements go in /etc/_hostname_.mc, where _hostname_ is the actual name of the computer.  But again, I haven't tried limited_masquerade.

```
# cd /etc/mail
# make      ;: create hostname.mc if it doesn't already exist
(edit hostname.mc)
# make all install restart
```


----------



## fullauto (Jun 20, 2012)

Still not working. x(


```
[root@hubert]/etc/mail-> ls
Makefile                freebsd.mc              local-host-names
README                  freebsd.submit.cf       mailer.conf
access                  freebsd.submit.mc       mailertable.sample
access.db               helpfile                sendmail.cf
access.sample           hubert.cf               submit.cf
aliases                 hubert.mc               virtusertable.sample
aliases.db              hubert.submit.cf
freebsd.cf              hubert.submit.mc
```


```
[root@hubert]/etc/mail-> cat hubert.mc
divert(-1)
#
# Copyright (c) 1983 Eric P. Allman
# Copyright (c) 1988, 1993
#       The Regents of the University of California.  All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
# 3. All advertising materials mentioning features or use of this software
#    must display the following acknowledgement:
#       This product includes software developed by the University of
#       California, Berkeley and its contributors.
# 4. Neither the name of the University nor the names of its contributors
#    may be used to endorse or promote products derived from this software
#    without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#

#
#  This is a generic configuration file for FreeBSD 6.X and later systems.
#  If you want to customize it, copy it to a name appropriate for your
#  environment and do the modifications there.
#
#  The best documentation for this .mc file is:
#  /usr/share/sendmail/cf/README or
#  /usr/src/contrib/sendmail/cf/README
#

divert(0)
VERSIONID(`$FreeBSD: release/9.0.0/etc/sendmail/freebsd.mc 223068 2011-06-14 04:33:43Z gshapiro $')
OSTYPE(freebsd6)
DOMAIN(generic)

FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access')
FEATURE(blacklist_recipients)
FEATURE(local_lmtp)
FEATURE(mailertable, `hash -o /etc/mail/mailertable')
FEATURE(virtusertable, `hash -o /etc/mail/virtusertable')

dnl Uncomment to allow relaying based on your MX records.
dnl NOTE: This can allow sites to use your server as a backup MX without
dnl       your permission.
dnl FEATURE(relay_based_on_MX)

dnl DNS based black hole lists
dnl --------------------------------
dnl DNS based black hole lists come and go on a regular basis
dnl so this file will not serve as a database of the available servers.
dnl For that, visit
dnl http://www.google.com/Top/Computers/Internet/E-mail/Spam/Blacklists/

dnl Uncomment to activate your chosen DNS based blacklist
dnl FEATURE(dnsbl, `dnsbl.example.com')
dnl Alternatively, you can provide your own server and rejection message:
dnl FEATURE(dnsbl, `dnsbl.example.com', ``"550 Mail from " $&{client_addr} " rejected'')

dnl Dialup users should uncomment and define this appropriately
dnl define(`SMART_HOST', `your.isp.mail.server')

dnl Uncomment the first line to change the location of the default
dnl /etc/mail/local-host-names and comment out the second line.
dnl define(`confCW_FILE', `-o /etc/mail/sendmail.cw')
define(`confCW_FILE', `-o /etc/mail/local-host-names')

dnl Enable for both IPv4 and IPv6 (optional)
DAEMON_OPTIONS(`Name=IPv4, Family=inet')
dnl DAEMON_OPTIONS(`Name=IPv6, Family=inet6, Modifiers=O')

define(`confBIND_OPTS', `WorkAroundBrokenAAAA')
define(`confNO_RCPT_ACTION', `add-to-undisclosed')
define(`confPRIVACY_FLAGS', `authwarnings,noexpn,novrfy')

[color="Blue"]MASQUERADE_AS(`SpreadSpectrum.net')dnl
MASQUERADE_DOMAIN(`hubert.spreadspectrum.net')dnl
FEATURE(`masquerade_envelope')dnl
FEATURE(`masquerade_entire_domain')dnl[/color]

MAILER(local)
MAILER(smtp)
```

I edited the hubert.mc file, with what I coded above.  Then I did:

```
[root@hubert]/etc/mail-> make all install restart
install -m 444 hubert.cf /etc/mail/sendmail.cf
install -m 444 hubert.submit.cf /etc/mail/submit.cf
Restarting: sendmail sendmail-clientmqueue.
[root@hubert]/etc/mail->
```

Still getting 
	
	



```
Charlie Root [root@hubert.spreadspectrum.net]
```

I seriously a*p*preciate your help, though.


----------



## wblock@ (Jun 20, 2012)

In mine, those four lines are right after the IPv6 option (which I also have disabled).  That probably doesn't matter.


----------



## fullauto (Jun 20, 2012)

Same. Funny thing is I can't rec*ei*ve any email unless I address it to Root@SpreadSpectrum.net.  Root@hubert.spreadspectrum.net doesnt work.

*L*et me know If you need any more info.  This is becoming a serious pain. I get no errors when I make and install, but the feature just does not work.


----------



## fullauto (Jun 20, 2012)

*Update*

As it turns out, when I log in with my user account fullauto, it masquerades fine.  It's only not Masq'ing the root account. Which I guess is a good thing, since I would like to *k*now what machine I was email*ed* from with a root account.  

Thanks for all your help!


----------



## wblock@ (Jun 20, 2012)

Just to be sure, you are sending test mails from an account on the server itself, to the root account on the same server?  Showing the headers from one of the test messages might be helpful.

To send from other systems inside the LAN, they need to have the server entered as their smarthost.  The server also needs their IP addresses or hostnames in /etc/mail/access with RELAY:

```
Connect:192.168.1     RELAY
```

access.db has to be rebuilt after changing that file:
`# make maps`


----------



## fullauto (Jun 20, 2012)

Actually, I figured that might slew the results. So, I sent the emails to my gmail account. I had an issue with my ISP yesterday and was trouble shooting some routing issues as well, so I figured using an outside MX was good for killing two birds with one stone.


----------

