chrony で ntp サーバをたてる

chrony を使いインターネットに疎通のないサーバに対してNTPサービスを提供するメモ

イメージ

[Server]
[Server] --> [NTP Server] --> The Internet
[Server]

ntpd で構築することが多いですが、CentOS7 からはデフォルトが chrony なので chrony でやってみる。

NTP Server

chronyd のListenするIPアドレスとポート、参照を許可するアクセス元アドレス範囲を指定する /etc/chrony.conf に以下のような設定を追記すればよい

bindaddress 192.168.10.1
port 123
deny  0.0.0.0/0
allow 192.168.10.0/24
# systemctl restart chronyd

利用する側

/etc/chrony.conf でNTPサーバアドレスを指定する

server 192.168.10.1 iburst
# systemctl restart chronyd

確認

$ chronyc sources
$ chronyc tracking

参考: chrony – Documentation

Apache 2.4 でフォワードプロキシ

インターネットに直接疎通のないサーバからインターネットに HTTP (HTTPS) アクセスできるようフォワードプロキシを設定するメモ。

イメージ

[Server]
[Server] --> [HTTP Proxy Server] --> The Internet
[Server]

プロキシサーバ

Apache を導入する。CentOS7 の場合 Apache 2.4 系が導入される

# yum install httpd
# tree /etc/httpd/
/etc/httpd/
|-- conf
|   |-- httpd.conf
|   `-- magic
|-- conf.d
|   |-- 00-logformat.conf
|   |-- README
|   |-- autoindex.conf
|   |-- proxy.conf
|   |-- userdir.conf
|   `-- welcome.conf
|-- conf.modules.d
|   |-- 00-base.conf
|   |-- 00-dav.conf
|   |-- 00-lua.conf
|   |-- 00-mpm.conf
|   |-- 00-proxy.conf
|   |-- 00-systemd.conf
|   `-- 01-cgi.conf
|-- logs -> ../../var/log/httpd
|-- modules -> ../../usr/lib64/httpd/modules
`-- run -> /run/httpd

設定例。安全のためプロキシサーバを利用させたいネットワーク範囲を必ず指定すること

# cat /etc/httpd/conf.d/proxy.conf 
Listen 192.168.10.1:8080
<VirtualHost *:8080>
  ProxyRequests On
  ProxyVia On
  <Proxy *>
    Require ip 192.168.10.0/24
    Require local
  </Proxy>
  CustomLog logs/proxy.access.log combined
  ErrorLog logs/proxy.error.log
</VirtualHost>
# systemctl restart httpd

プロキシサーバを利用する方法

# http_proxy="http://192.168.10.1:8080/" https_proxy="http://192.168.10.1:8080/" yum update

毎回指定するのは面倒なので、 /etc/profile.d あたりで設定するのがおすすめ

# cat /etc/profile.d/proxy.sh 
export no_proxy="127.0.0.1,localhost"
export http_proxy="http://192.168.10.1:8080/"
export https_proxy="http://192.168.10.1:8080/"

Postfix で mailrelay を設定する

インターネットに直接疎通のないサーバからメールを飛ばすのに必要なメールリレーサーバの Postfix での設定メモ 簡単のため送るだけ、bounce メールのことは考えない

[Server]
[Server] --> [Mailrelay Server] --> The Internet
[Server]

Mailrelay Server

  • メール送信元サーバのいるネットワーク: 192.168.10.0/24
  • メール送信元サーバのいるネットワーク側のアドレス: 192.168.10.1

デフォルトでは localhost からのメールしか配送しないようになっているので、プライベートネットワークの情報を追加する。

# cp /etc/postfix/main.cf{,.orig}
# vi /etc/postfix/main.cf
# diff /etc/postfix/main.cf.orig /etc/postfix/main.cf
116c116,117
< inet_interfaces = 127.0.0.1
---
> #inet_interfaces = 127.0.0.1
> inet_interfaces = 127.0.0.1, 192.168.10.1
265c266
< #mynetworks = $config_directory/mynetworks
---
> mynetworks = $config_directory/mynetworks
# vi /etc/postfix/mynetworks 
# cat /etc/postfix/mynetworks 
127.0.0.0/8
192.168.10.0/24
# systemctl restart postfix

メール送信元サーバ

relayhost にメールリレーサーバのアドレスを指定する。 こうすることでローカル宛メール以外が relayhost 宛に配送されるようになる

# cp /etc/postfix/main.cf{,.orig}
# vi /etc/postfix/main.cf
# diff /etc/postfix/main.cf.orig /etc/postfix/main.cf
317a318
> relayhost = [192.168.10.1]
# systemctl restart postfix

動作確認

メールリレーサーバの maillog を確認しながらメールを送ってみる

# sudo tail -F /var/log/maillog
# echo test |sendmail mychn@example.ne.jp