So-net無料ブログ作成
検索選択
スポンサードリンク
前の5件 | -

使用しているプロバイダがOP25B(メール送信規制)や、メール送信は出来るけど送付したメールが迷惑フィルタに掛る場合のメモ。 [Linux]

自ネットワーク内でメールサーバを構築したのは良いけど、インターネット回線で使用しているプロバイダがOP25Bで規制が掛かっているため25/tcpポートを使用してメール送信が出来なかったり、グローバルIPアドレスがブラックリスト(RBL)に入っていて、送信でエラーにならなくても、相手先で迷惑メールフィルタなどに引っかかり届かない場合のメモ。

やり方としては、他のメールサーバをリレーして送れば改善出来る可能性が有る。
ダメな場合も有るかも。
Gmailが利用しやすいので、Gmailを利用してみる。
OSはCentOS7
メールサーバはpostfix
予め利用するGmailアカウントを作成する。手持ちのアカウントがあれば使用可能。

CentOS7はOSインストール時にpostfixが入っているので、改めてインストールは不要。
認証でcyrus-saslcyrus-sasl-plainが要るので、入っていなければインストールする。
# yum install cyrus-sasl cyrus-sasl-plain

メール送信テストをするのに便利なmailxも入れておく。
# yum install mailx

postfixの設定
# vi /etc/postfix/main.cf

・メール受信を許可する設定
inet_interfaces = localhost
他の端末からのリレーを許可する場合は、設定を変更する。
inet_interfaces = all
など

・ipv4のみ利用
inet_protocols = ipv4

・メールリレー許可のネットワーク設定
mynetworks = 127.0.0.0/8
他の端末から許可する場合は
mynetworks = 192.168.1.0/24
など、許可するネットワーク・アドレスを指定する。

・gmailサーバへリレー
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain

sasl_passwdの設定
# vi /etc/postfix/sasl_passwd
[smtp.gmail.com]:587 username@gmail.com:password
アクセス権変更
# chmod 600 /etc/postfix/sasl_passwd
DBの作成
# postmap /etc/postfix/sasl_passwd

設定ファイルの確認
# postfix check

postfix再起動
# systemctl restart postfix
または
# systemctl reload postfix

メール送信テスト
# mail username@domain_name
Subject: testmail  ←タイトル
testmail        ←本文
.             ←終了コマンド(Ctrl+Dでも可)
EOF

メールログ確認
# tail /var/log/maillog
ログに以下の認証エラーが出ていて、メール送信ができない場合
SASL authentication failed

使用してるgmailアカウントのメールに
件名:リンクされている Google アカウントのセキュリティ通知
内容で「安全性の低いアプリのアクセスの許可
のメールが届いていたら、文面にあるURLをクリックし、
安全性の低いアプリのアクセスの許可の設定を有効に変更する。
安全性の低いアプリの許可: 無効 → 有効

後は送信先のメールソフトなどで受信する。
送信元がリレーで使用しているgmailアカウントになるので注意。
大量にメール送信するとgmail側でブロックされる可能性も有るのでこれも注意かな。
Gmailヘルプを確認すると、1日に500通超や1通のメールで500人超の送信を行うと制限が掛るようです。

proxy配下でRocket.Chatをインストールした時のメモ。 [Linux]

proxy配下でRocket.Chatをインストールした時のメモ。
基本的には、前にRocket.Chatをインストールしたメモがベースですが、一部proxy設定をしないと、インストールをすることが出来ないので、ポイントだけを抽出。
OSは同じくCentOS7。

1.yum利用時
yumの設定にproxy設定を記述する。
# vi /etc/yum.conf
に以下の行を追加する。
proxy=http://proxy-server:port番号

2.npm利用時
# npm install -g inherits n
の前に以下を実行する。
# npn -g config set proxy http://proxy-server:port番号
# npn -g config set https-proxy http://proxy-server:port番号
# npn -g config set registry http://registry.npmjs.org/
以下で設定内容を確認
npm config list

3.node.jsのバージョン変更時
# n 4.5
の前に
export http:_proxy=http://proxy-server:port番号
export https:_proxy=http://proxy-server:port番号
4.Rocket.Chatのダウンロード
curl -L --proxy http://proxy-server:port番号 https://rocket.chat/releases/latest/download -o rocket.chat.tgz

で、proxy経由でインストールすることが出来ました。

閉ざされたネットワークでNTPサーバを構築するときのメモ [Linux]

テスト環境などでインターネットへ接続が出来なかったり、社内ネットワークのNTPサーバが利用出来ない環境で、時刻同期が必要でNTPサーバを構築するときのメモ。

通常のNTPサーバの設定ファイル「/etc/ntp.conf」で、同期先サーバの設定を

server IPアドレス

でしますが、同期先がない場合は、

server 127.127.1.0

にすると、NTPサーバとして利用可能になる。
127.127.1.0のアドレスを設定すると、システムクロックと同期するようになる。
NTP独自の仕様みたいです。
あとは、NTPを起動し、動作確認コマンドを実行
# systemctl start ntpd   ←CentOS7の場合
# ntpq -p
結果のremote欄が、LOCAL(0)になっていれば成功。

serverの設定を、ループバックアドレス(127.0.0.1)やネットワークインターフェースのアドレスにした場合は、正常に動作しないので注意かな。

NTPサーバにchronyを使用する場合は、「/etc/chrony.conf」ファイルで、
server 127.127.1.0
allow 127.0.0.0/8
local stratum 10
に書き換え、chronyを起動し、動作確認コマンドを実行
# systemctl start chronyd   ←CentOS7の場合
# chronyc sources
の結果で、MS Name/IP address欄が、「^* 127.127.1.0」になっていれば成功。
^? 127.127.1.0」になっている場合は、少し時間をおいて再度動作確認コマンドを実行してみる。

あとは他のクライアントやサーバからも時刻同期が出来ればOKかなと。

CentOS7でRocket.Chatをインストールしたメモ [Linux]

社内などローカルネットワーク環境で、何か良いチャットツールが無いかなと思い、色々調べたらRocket.Chatが良さそうなので、インストールしてみました。
サーバOSはCentOS7です。

インストールはCentOSのみのリポジトリでは出来ないので、EPELリポジトリを追加します。
# yum -y install yum-plugin-priorities
# sed -i -e "s/\]$/\]\npriority=1/g" /etc/yum.repos.d/CentOS-Base.repo
# yum -y install epel-release
# sed -i -e "s/enabled=1/enabled=0/g" /etc/yum.repos.d/epel.repo

Rocket.Chatのインストールに必要なもの、MongoDBNode.js等をインストール。
# vi /etc/yum.repos.d/mongodb.repo
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1

# yum install -y nodejs curl GraphicsMagick npm mongodb-org-server mongodb-org gcc-c++
# npm install -g inherits n
# yum install nodejs npm
# yum --enablerepo=epel install nodejs npm
# npm install -g inherits n
# n 4.5

Rocket.Chatをダウンロードし、インストール。
# cd /opt/
# curl -L https://rocket.chat/releases/latest/download -o rocket.chat.tgz
# tar zxvf rocket.chat.tgz
# mv bundle Rocket.Chat
# cd Rocket.Chat/programs/server/
# npm install

サイト名等編集
# vi /opt/Rocket.Chat/rocketchat.env
PORT=3000
ROOT_URL=ホスト名またはIPアドレス:3000/
MONGO_URL=mongodb://localhost:27017/rocketchat

ポート番号は3000になっているけど、変更も可能。

MongoDBの起動と自動起動設定
# systemctl start mongod
# chkconfig mongod on

# systemctl enable mongod
で、自動起動設定をすると、以下の表示が出る。
mongod.service is not a native service, redirecting to /sbin/chkconfig.
Executing /sbin/chkconfig mongod on

Rocket.Chatの起動ファイル作成
[Unit]
Description=The Rocket.Chat server
After=network.target remote-fs.target nss-lookup.target nginx.target mongod.target
[Service]
ExecStart=/usr/local/bin/node /opt/Rocket.Chat/main.js
EnvironmentFile=/opt/Rocket.Chat/rocketchat.env
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=rocketchat
User=root
[Install]
WantedBy=multi-user.target

Rocket.Chatの起動と自動起動設定
# systemctl daemon-reload
# systemctl enable rocketchat.service
# systemctl start rocketchat.service

サービス起動確認
# systemctl status rocketchat

あとは、クライアントからWebブラウザを起動してアクセス出来ればOKかと。
アクセスできない場合は、firewalldの設定またはIptablesの設定を追加またはサービス停止。
SELINUXの無効化等をすればいけるかと。

インターネットへ公開する場合は、nginxやsquidなどでリバースプロキシを構築・設定して利用したほうが良さそうです。

squidで上位proxy利用環境時に設定したほうが良い設定 [proxy]

上位proxyへ接続するproxyサーバでsquidを使用する時に、しておいた方が良い設定のメモ。

上位proxyへ接続する設定には、必ず上位proxyへ接続する設定
never_direct allow all
が、入っていることが多く、この設定が入っているとクライアントからのアクションに対して、
全て上位proxyにリクエストを送付するようになる。
しかし、ローカルアドレスへのリクエストについては、利用する上位proxyの環境にもよるけど、
上位proxyからローカルアドレスへのアクセスが出来ない場合が有り、接続したいサイトへ
アクセスが出来ない現象が発生する。

クライアントのブラウザ設定で、ネットワーク接続プロキシ設定のプロキシを使用しないアドレスが
設定されていれば、この現象は出ないが、設定漏れや設定が出来ないデバイスが有ると、
squidの設定で回避する必要が有る。

方法はaclで回避したいネットワークアドレスやIPアドレスを指定し、直接接続をする設定を入れることで改善できる。
squid.confに上位proxyへリクエストしないアドレスを指定する。
(例)プライベートアドレスを指定
acl locala dst 10.0.0.0/8
acl localb dst 172.16.0.0/12
acl localc dst 192.168.0.0/16

always_direct allow locala localb localc

設定を入れた後は、configのチェックとsquidの再起動で完了。
# squid -k parse
# systemctl restart squid

この設定を、never_direct allow allの前に入れることで、設定したネットワークアドレスの
リクエストは上位proxyへ接続せず、proxyからダイレクトに接続するようになる。

前の5件 | -
スポンサードリンク
シャンパン酵母エキス