[LINUX] Super einfach! centos7, sendmail in lokaler Umgebung, DNS-Serveraufbau

Einführung

Ich habe angefangen, Mailserver und DNS-Server unter Linux zu studieren. Es gibt verschiedene Informationsseiten, aber es ist zu schwierig für mich! Also habe ich es durch Versuch und Irrtum geschafft.

Nur in einem geschlossenen LAN, ohne Rücksicht auf die Sicherheit Es ist eine super einfache Konfiguration, bei der die Einstellungen bis zum Limit abgeschnitten sind.

Verfassung

Verwenden Nutzername IP Adresse Mail Adresse
Mail sendender Server c10 192.168.65.10/24 -
DNS Server c53 192.168.65.53/24 -
Mail-Empfangsserver c20 192.168.65.20/24 [email protected]

構成.png 環境.png

Ich habe einen PC (Windows2012ServerR2), VMware Workstation 15 Player und Centos 7.7 verwendet. Eine Konfiguration mit Centos auf 3 PCs ist ebenfalls in Ordnung.

Installieren und konfigurieren Sie die neue virtuelle VMware-Maschine [c10, c20, c53]

Lesen Sie danach bitte die Adresse und den Benutzernamen für jeden Server.

-Erstellen Sie eine neue virtuelle Maschine Ziel: Lokale Standardfestplatte Japanische Auswahl

-Root Passwort: c10 Bestätigung: c10

-Erstellen Sie den Benutzer Vollständiger Name: c10 Benutzername: c10 Passwort: c10 Passwort bestätigen: c10 Machen Sie diesen Benutzer zum Administrator: Überprüfen Sie

· Netzwerkadapter NAT: Host-IP freigeben und verwenden

Netzwerkeinstellungen in VMware [c10, c20, c53]

[root@localhost c10/c53/c20]# nmcli connection modify ens33 ipv4.addresses 192.168.65.10/24 ###IP-Adresseinstellung
[root@localhost c10/c53/c20]# nmcli connection modify ens33 ipv4.method manual         ###Auf feste IP-Zuordnung einstellen
[root@localhost c10/c53/c20]# nmcli connection modify ens33 connection.autoconnect yes    ###Automatischer Start
[root@localhost c10/c53/c20]# nmcli connection down ens33                    ###Neustart der Schnittstelle
[root@localhost c10/c53/c20]# nmcli connection up ens33                     ###Neustart der Schnittstelle
[root@localhost c10/c53/c20]# nmcli connection modify ens33 ipv4.dns 8.8.8.8
[root@localhost c10/c53/c20]# nmcli connection modify ens33 ipv4.gateway 192.168.65.2
[root@localhost c10/c53/c20]# systemctl restart network                     ###Neustart des Netzwerks
[root@localhost c10]# ip add show
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:84:a7:43 brd ff:ff:ff:ff:ff:ff
    inet 192.168.65.10/24 brd 192.168.65.255 scope global noprefixroute ens33

→ Verwenden Sie für die folgenden Arbeiten Terminalsoftware wie teraterm, um eine SSH-Verbindung zu jedem Computer herzustellen.

Firewall deaktiviert [c10, c20, c53]

[root@localhost c10/c53/c20]# systemctl stop firewalld      ###Dienstausfall
[root@localhost c10/c53/c20]# systemctl status firewalld    ###Service Statusprüfung
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: inactive (dead)seit Tag 2020-01-05 15:34:19 JST; 979ms ago
     Docs: man:firewalld(1)

→ Vergewissern Sie sich, dass es inaktiv ist.

SELinux deaktivieren [c10, c20, c53]

[root@localhost c10/c53/c20]# vi /etc/selinux/config
#Zeile 30: Von der Durchsetzung korrigiert
SELINUX=disabled

→ SELinux Es wird gesagt, dass "ein Modul, das dem Linux-Kernel eine Funktion zur erzwungenen Zugriffskontrolle hinzufügt". Diesmal ist es unnötig, also hör auf.

Einführung verschiedener Software [c10, c20, c53]

[root@localhost c53]# yum install bind              ###DNS Server
[root@localhost c10/c53/c20]# yum install telnet
[root@localhost c10/c53/c20]# yum install bind-utils        ###Befehl dig
[root@localhost c10/c53/c20]# yum install tcpdump
[root@localhost c10/c20]# yum install sendmail sendmail-cf  ###Mail-Server
[root@localhost c10/c20]# yum install mailx           ###Wird zum Senden und Empfangen von E-Mails verwendet

Legen Sie nach der Installation verschiedener Software die DNS-Einstellungen für den neuen DNS-Server fest. Schließen Sie die Kommunikation im LAN (192.168.65.x / 24), indem Sie den Port auf der Internetseite trennen oder blockieren.

[root@localhost c10/c53/c20]# nmcli connection modify ens33 ipv4.dns 192.168.65.53
[root@localhost c10/c53/c20]# systemctl restart network

Überprüfen Sie die Mailserver-Software [C10, c20].

Überprüfen Sie, ob Sie sendmail als Mailserver-Software verwenden.

[root@localhost c20]# alternatives --config mta
Es gibt 2 Programme'mta'Bereitstellen.

Befehl auswählen
-----------------------------------------------
   1           /usr/sbin/sendmail.postfix
*+ 2           /usr/sbin/sendmail.sendmail

Drücken Sie die Eingabetaste, um den aktuellen auszuwählen[+]Oder geben Sie die Auswahlnummer ein:

→ Wählen Sie sendmail.

[root@localhost c10/c20]# systemctl stop postfix

→ Wenn Postfix installiert ist, wird es gestoppt.

Einstellungen für den Mail-Sende-Server [c10]

Der sendende Server ist nur eine sendmail-Installation, es sind keine zusätzlichen Einstellungen erforderlich.

[root@localhost c10]# systemctl start sendmail    ###Servicestart
[root@localhost c10]# systemctl status sendmail   ###Service Statusprüfung
● sendmail.service - Sendmail Mail Transport Agent
   Loaded: loaded (/usr/lib/systemd/system/sendmail.service; enabled; vendor preset: disabled)
   Active: active (running)seit Tag 2020-01-05 19:33:58 JST; 7h ago

→ Aktiv prüfen (läuft).

Einstellungen des Mail-Empfangsservers [c20]

[root@localhost c20]# vi /etc/mail/local-host-names
test.test

→ Legen Sie fest, dass E-Mails an die Domäne test.test gesendet werden sollen.

[root@localhost c20]# vi /etc/mail/sendmail.mc
#Zeile 118: Von allen zu empfangenden Adressen ändern
DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0,  Name=MTA')dnl 
#Zeile 157: Änderung des Domainnamens
LOCAL_DOMAIN(`test.test')dnl
[root@localhost c20]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf ###Einstellungen widerspiegeln
[root@localhost c20]# systemctl restart sendmail  ###Neustart des Dienstes
[root@localhost c20]# systemctl status sendmail  ###Service Statusprüfung
● sendmail.service - Sendmail Mail Transport Agent
   Loaded: loaded (/usr/lib/systemd/system/sendmail.service; enabled; vendor preset: disabled)
   Active: active (running)seit Tag 2020-01-05 19:03:58 JST; 1s ago
  Process: 2252 ExecStart=/usr/sbin/sendmail -bd $SENDMAIL_OPTS $SENDMAIL_OPTARG (code=exited, status=0/SUCCESS)

→ Aktiv prüfen (läuft).

DNS-Servereinstellungen [c53]

[root@localhost c53]# vi /etc/named.conf
options {
        listen-on port 53    { any; };
        listen-on-v6 port 53 { none; };
        directory            "/var/named";
        allow-query          { localhost; 192.168.65/24; };
        allow-transfer       { localhost; 192.168.65/24; };
        recursion no;
};
zone "test.test" IN {
       type master;
       file "test.test.lan";
};
[root@localhost c53]# vi /var/named/test.test.lan
$TTL 86400
test.test.     3600    IN SOA  NS.test.test. hoge.gmail.com.(
                       2003031401      ; Serial
                       3600            ; Refresh
                       1800            ; Retry
                       604800          ; Expire
                       86400 )         ; Minimum TTL

test.test.     3600    IN NS  NS.test.test.
NS.test.test.  3600    IN A   192.168.65.53

test.test.     3600    IN MX  10 c20.test.test.
c20.test.test. 3600    IN A   192.168.65.20
[root@localhost c53]# systemctl restart named  ###Servicestart
[root@localhost c53]# systemctl status named  ###Service Statusprüfung
● named.service - Berkeley Internet Name Domain (DNS)
   Loaded: loaded (/usr/lib/systemd/system/named.service; disabled; vendor preset: disabled)
   Active: active (running)seit Tag 2020-01-05 19:18:10 JST; 9s ago
  Process: 2235 ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS (code=exited, status=0/SUCCESS)

→ Aktiv prüfen (läuft).

Mail senden (C10)

[root@localhost c10]# echo "Wir haben beschlossen, Ihnen 89,3 Millionen Yen zu leihen." | mail -s "Kontakt von der Rückhaltebank" -S smtp=smtp://192.168.65.20:25 -r HOGE@HOGE [email protected]

→ In c10 mit dem Benutzer hoge der hoge-Domäne als Absender Senden Sie eine E-Mail an Benutzer c20 in der Domäne test.test.

Post erhalten (C20)

Stellen Sie sicher, dass Sie die E-Mail erhalten.

[root@localhost c20]# mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/c20": 1 messages 1 new
>N  1 HOGE@HOGE              Sun Jan  5 20:10  18/593   "Kontakt von der Rückhaltebank"
& 1
Message  1:
From HOGE@HOGE  Sun Jan  5 20:10:14 2020
Return-Path: <HOGE@HOGE>
Date: Sun, 05 Jan 2020 20:10:14 +0900
From: HOGE@HOGE
To: [email protected]
Subject:Kontakt von der Rückhaltebank
User-Agent: Heirloom mailx 12.5 7/5/10
Content-Type: text/plain; charset=utf-8
Status: R

Wir haben beschlossen, Ihnen 89,3 Millionen Yen zu leihen.

&

[root@localhost c20]# less /var/spool/mail/c20

From HOGE@HOGE  Sun Jan  5 20:10:14 2020
Return-Path: <HOGE@HOGE>
Received: from localhost ([192.168.65.10])
        by localhost.localdomain (8.14.7/8.14.7) with SMTP id 005BAEtA010237
        for <[email protected]>; Sun, 5 Jan 2020 20:10:14 +0900
Date: Sun, 05 Jan 2020 20:10:14 +0900
From: HOGE@HOGE
To: [email protected]
Subject: =?utf-8?B?6YqA6KGM44GL44KJ44Gu44GU6YCj57Wh?=
Message-ID: <5e11c416.CV3MXjGt/CAjqiTp%HOGE@HOGE>
User-Agent: Heirloom mailx 12.5 7/5/10
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
Status: RO

Wir haben beschlossen, Ihnen 89,3 Millionen Yen zu leihen.

(END)
[root@localhost c20]# less /var/log/maillog
Jan  5 20:10:14 localhost sendmail[10237]: 005BAEtA010237: from=<HOGE@HOGE>, size=349, class=0, nrcpts=1, msgid=<5e11c416.CV3MXjGt/CAjqiTp%HOGE@HOGE>, proto=SMTP, daemon=MTA, relay=[192.168.65.10]
Jan  5 20:10:14 localhost sendmail[10238]: 005BAEtA010237: to=<[email protected]>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30522, dsn=2.0.0, stat=Sent

→ Es ist angekommen!

Fehlerbehebung

[root@localhost c10]# ping 192.168.65.20
PING 192.168.65.20 (192.168.65.20) 56(84) bytes of data.
64 bytes from 192.168.65.20: icmp_seq=1 ttl=64 time=1.34 ms
64 bytes from 192.168.65.20: icmp_seq=2 ttl=64 time=0.214 ms

→ Erfolgreiches Beispiel.

[root@localhost c10]# ping c20.test.test
PING c20.test.test (192.168.65.20) 56(84) bytes of data.
64 bytes from 192.168.65.20 (192.168.65.20): icmp_seq=1 ttl=64 time=1.21 ms
64 bytes from 192.168.65.20 (192.168.65.20): icmp_seq=2 ttl=64 time=0.895 ms

→ Erfolgreiches Beispiel.

[root@localhost c10]# ping c20.test.test
ping: c20.test.test:Unbekannter Name oder Dienst

→ Fehlerbeispiel. Die Namensauflösung per DNS ist nicht gut gelungen.

[root@localhost c10]# dig test.test any

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-9.P2.el7 <<>> test.test any
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 32366
;; flags: qr aa rd; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 3
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;test.test.                     IN      ANY

;; ANSWER SECTION:
test.test.              3600    IN      SOA     NS.test.test. test.gmail.com. 2003031401 3600 1800 604800 86400
test.test.              3600    IN      NS      NS.test.test.
test.test.              3600    IN      MX      10 c20.test.test.

;; ADDITIONAL SECTION:
NS.test.test.           3600    IN      A       192.168.65.53
c20.test.test.          3600    IN      A       192.168.65.20

;; Query time: 0 msec
;; SERVER: 192.168.65.53#53(192.168.65.53)
;; WHEN:So 05. Januar 22:00:59 JST 2020
;; MSG SIZE  rcvd: 157

→ Erfolgreiches Beispiel.

[root@localhost c10]# telnet 192.168.65.20 25
Trying 192.168.65.20...
Connected to 192.168.65.20.
Escape character is '^]'.
220 localhost.localdomain ESMTP Sendmail 8.14.7/8.14.7; Sun, 5 Jan 2020 22:02:10 +0900

→ Erfolgreiches Beispiel.

[root@localhost c10]# telnet 192.168.65.20 25
Trying 192.168.65.20...
telnet: connect to address 192.168.65.20: No route to host
[root@localhost c10]#

→ Fehlerbeispiel. Ich kann aufgrund eines Problems keine Verbindung herstellen.

[root@localhost c20]# tcpdump -p -i ens33 host 192.168.65.10
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
22:13:23.245337 IP 192.168.65.10.40542 > localhost.localdomain.smtp: Flags [S], seq 4220477456, win 29200, options [mss 1460,sackOK,TS val 29769713 ecr 0,nop,wscale 7], length 0
22:13:23.245399 IP localhost.localdomain.smtp > 192.168.65.10.40542: Flags [S.], seq 932260319, ack 4220477457, win 28960, options [mss 1460,sackOK,TS val 14031906 ecr 29769713,nop,wscale 7], length 0
22:13:23.245599 IP 192.168.65.10.40542 > localhost.localdomain.smtp: Flags [.], ack 1, win 229, options [nop,nop,TS val 29769714 ecr 14031906], length 0
22:13:23.278032 IP localhost.localdomain.smtp > 192.168.65.10.40542: Flags [P.], seq 1:89, ack 1, win 227, options [nop,nop,TS val 14031939 ecr 29769714], length 88: SMTP: 220 localhost.localdomain ESMTP Sendmail 8.14.7/8.14.7; Sun, 5 Jan 2020 22:13:23 +0900
22:13:23.278447 IP 192.168.65.10.40542 > localhost.localdomain.smtp: Flags [.], ack 89, win 229, options [nop,nop,TS val 29769746 ecr 14031939], length 0
22:13:23.279887 IP 192.168.65.10.40542 > localhost.localdomain.smtp: Flags [P.], seq 1:17, ack 89, win 229, options [nop,nop,TS val 29769747 ecr 14031939], length 16: SMTP: HELO localhost

→ Erfolgreiches Beispiel.

Referenzseite

・ Sende- / Empfangseinstellungen für Sendmail, lokaler Sende- / Empfangstest (Sendmail, BJD) https://qiita.com/takahashi-kazuki/items/7eb41bbc0edaa2b81caf

・ [CentOS7] sendmail Grundeinstellungen | server-memo.net https://www.server-memo.net/server-setting/sendmail/sendmail-setting_centos7.html

・ Der 64. DNS (3) -Ressourceneintragstyp http://www5e.biglobe.ne.jp/aji/3min/64.html

abschließend

Ich konnte E-Mails mit den Mindesteinstellungen senden und empfangen! Wir werden weiterhin Einstellungen wie Lernen, Verbesserung der Sicherheit und Rückwärtsziehen hinzufügen! Ich hoffe dieser Beitrag hilft jemandem!

Recommended Posts

Super einfach! centos7, sendmail in lokaler Umgebung, DNS-Serveraufbau
DNS-Server in Python ....
Informationen zum Aufbau einer Linux-Umgebung (CentOS)
Umgebungskonstruktion des Überwachungsservers Zabbix 4.4 unter CentOS7 (Apache2.4 / PHP5.4 / MariaDB5.5)
Erstellen eines Servers mit CONOHA VPS (CentOS)
Python3-Umgebungskonstruktion mit pyenv-virtualenv (CentOS 7.3)
Verwenden von Chainer mit CentOS7 [Umgebungskonstruktion]
Schreiben Sie einen supereinfachen TCP-Server
Zusammenfassung der Links zum Aufbau des Linux-Servers (CentOS7)
Erstellen Sie WordPress unter CentOS 8 in einer LAMP-Umgebung
[Super Einführung] Maschinelles Lernen mit Python - Von der Umgebungskonstruktion bis zur Implementierung von Simple Perceptron-