WWW を検索 NOGNOG.COM を検索

WWW.NOGNOG.COM

Last modified: Sat, 29 Dec 2007 15:31:15 +0900
Home   うにっくすさんの覚え書き   プリングルズ   MIDI   ユーザー車検   「小沢昭一の小沢昭一的こころ」のススメ   Blog  

OpenBSD - PFでNATボックス

  • はじめに

    • OpenBSDのPFを利用したNATボックスの構築について解説します。
      以下の環境を前提としています。

        OpenBSD:3.1
        外側(グローバル)インターフェース:le1(1.1.1.1)
        内側(プライベート)インターフェース:le0(192.168.0.254/24)

  • PFの有効化

      # vi /etc/rc.conf

        pf=YES
        pf_rules=/etc/pf.conf
        nat_rules=/etc/nat.conf
        pflogd_flags="-s 256"

  • FireWallルールの設定

    • 外部からやってくるプライベートIPルーティングやブロードキャストパケットのブロック等、
      パケットフィルタリングルールを/etc/pf.confへ記述します。

      # vi /etc/pf.conf

        block in all
        block in quick on le0 from 10.0.0.0/8 to any
        block in quick on le0 from 172.16.0.0/12 to any
        block in quick on le0 from 192.168.0.0/16 to any
        block in quick on le0 from 255.255.255.255/32 to any
        pass in all
        pass out all

    • 内側から外側へ通過させるNATルールを/etc/nat.confへ記述します。

      # vi /etc/nat.conf

        nat on le0 from 192.168.0.0/24 to any -> 1.1.1.1
        rdr on le0 proto tcp from any to any port 21 -> 127.0.0.1 port 8081

  • パケットフォワーディングの有効化

      # vi /etc/sysctl.conf

        net.inet.ip.forwarding=1
        vm.swapencrypt.enable=1
        net.inet.tcp.recvspace=65535
        net.inet.tcp.sendspace=65535
        kern.somaxconn=1024

  • ftp-proxyの有効化

    • クライアントが外部へFTP接続する際のプロキシ設定を/etc/inetd.confへ記述します。

      # vi /etc/inetd.conf

        8081 stream tcp nowait root /usr/libexec/ftp-proxy ftp-proxy -w

  • 2枚目のインターフェースを手動登録

      # vi /etc/rc.local

        /sbin/ifconfig le1 1.1.1.1 netmask 255.0.0.0

  • 再起動

    • 再起動して終了です。

      # shutdown -r now

  • TIPS

      ログはデフォルトでは/var/log/pflog
      ログの閲覧
      # tcpdump -n -e -ttt -r /var/log/pflog
      # pfctl -s info

うにっくすさんの覚え書きについて

Home >> うにっくすさんの覚え書き >> OpenBSD - PFでNATボックス