CentOS7でIP Masquerade(firewalld),squid,dhcpd

更新日2018-01-20 (土) 09:56:46

CentOS7をサーバ(GUI使用)[DNS,メールサーバ、開発ツール]でインストール

仮想ブリッジvirbr0の無効化と有効化 [KVM導入時に作成されるブリッジインターフェース(virbr0]

# ifconfig

(略)
        TX packets 4  bytes 198 (198.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:31:80:e8  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • 仮想マネージャのインストール
# yum install virt-manager
  • 仮想ブリッジvirbr0削除

GUIでvirt-manager

アプリケーション→システムツール→仮想マネージャ

編集→接続の詳細→仮想ネットワーク→「defalut」を選択して「○の中にX」のマークを選択して削除

ネットワークの設定

  • デバイスの表示
# nmcli device show
GENERAL.デバイス:                       ens32
GENERAL.タイプ:                         ethernet
GENERAL.ハードウェアアドレス:           00:50:56:81:60:D9
GENERAL.MTU:                            1500
GENERAL.状態:                           100 (接続済み)
GENERAL.接続:                           ens32
GENERAL.CON パス:                       /org/freedesktop/NetworkManager/ActiveConnection/1
WIRED-PROPERTIES.キャリア:              オン
IP4.アドレス[1]:                        192.168.10.206/24
IP4.ゲートウェイ:                       192.168.10.245
IP4.DNS[1]:                             192.168.10.46
IP4.ドメイン[1]:                        ism21.net
IP6.アドレス[1]:                        2001:a4e8:ee4e:0:23ce:cdbc:746:925d/64
IP6.アドレス[2]:                        fe80::b0a6:de23:bcb4:93cb/64
IP6.ゲートウェイ:                       fe80::23a:9dff:feed:dc32
IP6.ルート[1]:                          dst = 2001:a4e8:ee4e::/64, nh = ::, mt = 100
IP6.DNS[1]:                             2001:a4e8:ee4e:0:23a:9dff:feed:dc32

GENERAL.デバイス:                       lo
GENERAL.タイプ:                         loopback
GENERAL.ハードウェアアドレス:           00:00:00:00:00:00
GENERAL.MTU:                            65536
GENERAL.状態:                           10 (管理無し)
GENERAL.接続:                           --
GENERAL.CON パス:                       --
IP4.アドレス[1]:                        127.0.0.1/8
IP4.ゲートウェイ:                       --
IP6.アドレス[1]:                        ::1/128
IP6.ゲートウェイ:                       --
  • ホスト名表示
# hostname
localhost.localdomain
  • ホスト名変更
# nmcli general hostname centos-test
# hostname
centos-test
  • IPの表示
# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:56:81:70:6c brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.200/24 brd 192.168.10.255 scope global dynamic ens32
       valid_lft 345532sec preferred_lft 345532sec
    inet6 2001:a4e8:ee4e:0:f2ec:5e1:78bb:fd31/64 scope global noprefixroute dynamic
       valid_lft 14333sec preferred_lft 12533sec
    inet6 fe80::22c5:8de0:8bdc:1e1a/64 scope link
       valid_lft forever preferred_lft forever
3: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:56:81:07:f0 brd ff:ff:ff:ff:ff:ff
  • ens33にIP 192.168.66.2を設定
# nmcli c modify ens33 ipv4.method manual ipv4.addresses 192.168.66.2/24
# nmcli c down ens33; nmcli c up ens33
接続 'ens33' が正常に非アクティブ化されました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/2)
接続が正常にアクティベートされました (D-Bus アクティブパス: /org/freedesktop/NetworkManager/ActiveConnection/3)
  • ネットワークの再起動
# systemctl restart network
# ip addr show

(略)
3: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP  qlen 1000
    link/ether 00:50:56:81:07:f0 brd ff:ff:ff:ff:ff:ff
    inet 192.168.66.2/24 brd 192.168.66.255 scope global ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::250:56ff:fe81:7f0/64 scope link
       valid_lft forever preferred_lft forever
  • 固定IPに変更
# nmcli c modify ens32 ipv4.method manual ipv4.addresses 192.168.10.27/24
# systemctl restart network

# ip addr show

2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:56:81:60:d9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.27/24 brd 192.168.10.255 scope global ens32
       valid_lft forever preferred_lft forever
    inet6 2001:a4e8:ee4e:0:23ce:cdbc:746:925d/64 scope global noprefixroute dyna
  • DHCP取得に変更
# nmcli c modify ens32 ipv4.method auto
# systemctl restart network

# ip addr show

2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:50:56:81:60:d9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.206/24 brd 192.168.10.255 scope global dynamic ens32
       valid_lft 345555sec preferred_lft 345555sec
    inet 192.168.10.27/24 brd 192.168.10.255 scope global secondary ens32
       valid_lft forever preferred_lft forever
    inet6 2001:a4e8:ee4e:0:23ce:cdbc:746:925d/64 scope global noprefixroute dynamic
  • DNSの設定
# nmcli connection modify ens32 ipv4.dns 192.168.10.46
# systemctl restart network
  • デフォルトGW変更
# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.10.0    0.0.0.0         255.255.255.0   U         0 0          0 ens32
# nmcli c modify ens32 ipv4.gateway 192.168.10.245
# systemctl restart network
# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.10.245  0.0.0.0         UG        0 0          0 ens32
192.168.10.0    0.0.0.0         255.255.255.0   U         0 0          0 ens32
  • スタテックルート追加(一時的)
# route add -net 192.168.0.0/24 gw 192.168.10.28 dev ens32
# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.10.245  0.0.0.0         UG        0 0          0 ens32
192.168.0.0     192.168.10.28   255.255.255.0   UG        0 0          0 ens32
192.168.10.0    0.0.0.0         255.255.255.0   U         0 0          0 ens32
  • スタテックルート削除
# route del -net 192.168.0.0/24
# netstat -rn
  • スタテックルート追加(恒久的)

リブート後も追加される

以下のファイルを作成

/etc/sysconfig/network-script/route-ens32

192.168.0.0/24 via 192.168.10.28 ens32
# systemctl restart network
# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.10.245  0.0.0.0         UG        0 0          0 ens32
192.168.0.0     192.168.10.28   255.255.255.0   UG        0 0          0 ens32
192.168.10.0    0.0.0.0         255.255.255.0   U         0 0          0 ens32

IP Masquerade

ゾーンの設定

  • WAN:external (sshだけ通過)
  • LAN:trusted (すべての通信を許可:設定変更不可)
  • インターフェースの状態
# nmcli d
デバイス  タイプ    状態      接続
ens32     ethernet  接続済み  ens32
ens33     ethernet  切断済み  --
lo        loopback  管理無し  --
  • ens33のNICをゾーンtrustedに、ens32のNICをゾーンexternalに接続
# nmcli c mod ens33 connection.zone trusted
# nmcli c mod ens32 connection.zone external
# reboot
  • firewallのアクティブゾーンを表示
# firewall-cmd --get-active-zone
external
  interfaces: ens32
trusted
  interfaces: ens33
  • firewallのゾーンの内容を表示
# firewall-cmd --list-all --zone=trusted
trusted (active)
  target: ACCEPT
  icmp-block-inversion: no
  interfaces: ens33
  sources:
  services:
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

serviceが空白はすべて許可

# firewall-cmd --list-all --zone=external
external (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens32
  sources:
  services: ssh
  ports:
  protocols:
  masquerade: yes
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

masquerade: yesになっている→masqueradeが構成されている

Emacsのインストール

# yum install emacs

squidのインストール

# yum install squid
# cd /etc/squid/

proxyのポート変更

  • squid.conf
# Squid normally listens to port 3128
##http_port 3128
http_port 8080
  • 起動
# systemctl start squid
-確認
# ps -ax | grep squid
 3284 ?        Ss     0:00 /usr/sbin/squid -f /etc/squid/squid.conf
 3286 ?        S      0:00 (squid-1) -f /etc/squid/squid.conf
 3291 ?        S      0:00 (logfile-daemon) /var/log/squid/access.log
 3301 pts/1    S+     0:00 grep --color=auto squid
  • OS起動時に起動に設定
# systemctl enable squid
Created symlink from /etc/systemd/system/multi-user.target.wants/squid.service to /usr/lib/systemd/system/squid.service.
-OS起動時に起動の確認
# systemctl list-unit-files -t service | grep squid
squid.service                                 enabled

DHCPサーバのインストール

# yum install dhcp
  • 設定
# cd /etc/dhcp

以下を追加

-dhcp.conf
# ネームサーバーのホスト名, またはIPアドレス指定
option domain-name-servers     192.168.10.46; 

# デフォルト貸出期間
default-lease-time 600; 

# 最大貸出期間
max-lease-time 7200; 

# 正当な DHCP サーバーであることの宣言
authoritative; 

# ネットワークアドレスとサブネットマスク指定
subnet 192.168.66.0 netmask 255.255.255.0 {
     # 貸し出すIPアドレスの範囲指定
    range dynamic-bootp 192.168.66.201 192.168.66.254;
     # ブロードキャストアドレス指定
    option broadcast-address 192.168.66.255;
     # ゲートウェイアドレス指定
    option routers 192.168.10.245;
} 
  • 起動確認
# systemctl status dhcpd.service

dhcpd.service - DHCPv4 Server Daemon ← が緑であることを確認する。

    Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; disabled; vendor preset: disabled)
    Active: active (running) since 月 2017-10-09 07:40:54 JST; 38s ago  ←「active (running)」を確認する。
      Docs: man:dhcpd(8)
            man:dhcpd.conf(5)
  Main PID: 3588 (dhcpd)
    Status: "Dispatching packets..."
    CGroup: /system.slice/dhcpd.service
            mq3588 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -gr...
 
 10月 09 07:40:54 CentOS7-Router.ism21.net dhcpd[3588]: Sending on   LPF/ens3... 
 10月 09 07:40:54 CentOS7-Router.ism21.net dhcpd[3588]:
 10月 09 07:40:54 CentOS7-Router.ism21.net dhcpd[3588]: No subnet declaration...
 10月 09 07:40:54 CentOS7-Router.ism21.net dhcpd[3588]: ** Ignoring requests ...
 10月 09 07:40:54 CentOS7-Router.ism21.net dhcpd[3588]:    you want, please w...
 10月 09 07:40:54 CentOS7-Router.ism21.net dhcpd[3588]:    in your dhcpd.conf...
 10月 09 07:40:54 CentOS7-Router.ism21.net dhcpd[3588]:    to which interface...
 10月 09 07:40:54 CentOS7-Router.ism21.net dhcpd[3588]:
 10月 09 07:40:54 CentOS7-Router.ism21.net dhcpd[3588]: Sending on   Socket/f...
 10月 09 07:40:54 CentOS7-Router.ism21.net systemd[1]: Started DHCPv4 Server ...
 Hint: Some lines were ellipsized, use -l to show in full.
  • OS起動時に起動に設定
# systemctl enable dhcpd
Created symlink from /etc/systemd/system/multi-user.target.wants/dhcpd.service  to /usr/lib/systemd/system/dhcpd.service.
  • OS起動時に起動の確認
    # systemctl list-unit-files -t service | grep dhcpd
    dhcpd.service                                 enabled  ← 「enabled]を確認する 。
    dhcpd6.service                                disabled

参考


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-01-20 (土) 09:56:46 (670d)