CentOS7で Bridge routerを作ってみる
測定装置を制御するPCが勝手にwindows updateさせないために、とか
古くてネットワークに接続させたくないけど、ファイルサーバにはアクセスさせたい、とか
そんな場合に。

CentOS6ではこちら router/Bridge/CentOS6

方針としては、2つのnicをbridgeで1つにして、それにebtablesで制限をかける。
ごくごく簡単な方法で用意してみた。

Bridgeを作成

nmtuiコマンドを駆使して作ってみた。
2019y07m05d_001155976.png
作成後確認してみると、

[root@bridge-router ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
nm-bridge       8000.000c29b5ee8c       no              ens32
                                                        ens33
[root@bridge-router ~]#

となる。
*STPを無効にするみたい

下準備

必要なパッケージをインストールして、モジュールの登録とカーネルパラメーターを調整する。

[root@bridge-router ~]# yum install iptables-services iptables-utils ebtables bridge-utils
 
[root@bridge-router ~]# systemctl stop firewalld
[root@bridge-router ~]# systemctl disable firewalld
 
[root@bridge-router ~]# systemctl enable iptables ebtables
[root@bridge-router ~]# systemctl start iptables ebtables
 
[root@bridge-router ~]# echo br_netfilter > /etc/modules-load.d/br_netfilter.conf
[root@bridge-router ~]# echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/ip_forward.conf

webページ(port 80)へのアクセスを禁止する

webページへのアクセスが禁止されるだけで、それ以外のサービスは利用できる
「windows updateを阻止する」なら

(初期設定)
[root@bridge-router ~]# iptables -P INPUT ACCEPT
[root@bridge-router ~]# iptables -P OUTPUT ACCEPT
[root@bridge-router ~]# iptables -P FORWARD ACCEPT
 
[root@bridge-router ~]# iptables -F
 
(確認)
[root@bridge-router ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
 
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
 
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
 
[root@bridge-router ~]# iptables-save > /etc/sysconfig/iptables
 
(初期設定)
[root@bridge-router ~]# ebtables -P INPUT ACCEPT
[root@bridge-router ~]# ebtables -P OUTPUT ACCEPT
[root@bridge-router ~]# ebtables -P FORWARD ACCEPT
 
[root@bridge-router ~]# ebtables -F
 
[root@bridge-router ~]# ebtables -A FORWARD --proto ipv4 --ip-protocol tcp --ip-destination-port 80 -j DROP
[root@bridge-router ~]# ebtables -A FORWARD --proto ipv4 --ip-protocol tcp --ip-destination-port 443 -j DROP
 
[root@bridge-router ~]# /usr/libexec/ebtables save

上記は特定の通信だけを排除してます。その他はACCEPT
特定の通信のみ許可するなら下記のようにします

dhcp,dns,ssh,smbのみ許可とするなら

ebtables -P INPUT ACCEPT
ebtables -P OUTPUT ACCEPT
ebtables -P FORWARD DROP
(FORWARDを基本DROPとさせます)
 
ebtables -F
(初期化)
 
 
(そして受け入れる通信のみをACCEPTとする)
ebtables -A FORWARD --proto ipv4 --ip-source 192.168.0.0/24 -j ACCEPT
ebtables -A FORWARD --proto ipv4 --ip-proto ICMP -j ACCEPT
ebtables -A FORWARD --proto arp -j ACCEPT
(ICMP応答を可能に)
 
ebtables -A FORWARD --proto ipv4 --ip-proto TCP --ip-sport 22 -j ACCEPT
ebtables -A FORWARD --proto ipv4 --ip-proto TCP --ip-dport 22 -j ACCEPT
(SSH通信を可能に)
 
ebtables -A FORWARD --proto ipv4 --ip-proto UDP --ip-sport 53 -j ACCEPT
ebtables -A FORWARD --proto ipv4 --ip-proto UDP --ip-dport 53 -j ACCEPT
(DNS問い合わせを可能に)
 
ebtables -A FORWARD --proto ipv4 --ip-proto UDP --ip-sport 123 -j ACCEPT
ebtables -A FORWARD --proto ipv4 --ip-proto UDP --ip-dport 123 -j ACCEPT
(時計合わせを可能に)
 
ebtables -A FORWARD --proto ipv4 --ip-proto UDP --ip-sport 137 -j ACCEPT
ebtables -A FORWARD --proto ipv4 --ip-proto UDP --ip-dport 137 -j ACCEPT
ebtables -A FORWARD --proto ipv4 --ip-proto UDP --ip-sport 138 -j ACCEPT
ebtables -A FORWARD --proto ipv4 --ip-proto UDP --ip-dport 138 -j ACCEPT
ebtables -A FORWARD --proto ipv4 --ip-proto TCP --ip-sport 139 -j ACCEPT
ebtables -A FORWARD --proto ipv4 --ip-proto TCP --ip-dport 139 -j ACCEPT
ebtables -A FORWARD --proto ipv4 --ip-proto TCP --ip-sport 445 -j ACCEPT
ebtables -A FORWARD --proto ipv4 --ip-proto TCP --ip-dport 445 -j ACCEPT
(SMB通信を可能に)
 
ebtables -A FORWARD --proto ipv4 --ip-proto UDP --ip-dport 67 -j ACCEPT
ebtables -A FORWARD --proto ipv4 --ip-proto UDP --ip-sport 67 -j ACCEPT
ebtables -A FORWARD --proto ipv4 --ip-proto UDP --ip-dport 68 -j ACCEPT
ebtables -A FORWARD --proto ipv4 --ip-proto UDP --ip-sport 68 -j ACCEPT
(DHCP通信を可能に)
 
/usr/libexec/ebtables save
(設定を保存)
最新の60件
2026-06-08 2026-06-06 2026-06-05 2026-06-04 2026-06-03 2026-05-31 2026-05-28 2026-05-26 2026-05-23 2026-05-22 2026-05-21 2026-05-20 2026-05-19 2026-05-18 2026-05-12 2026-05-11 2026-05-08 2026-05-06 2026-05-05 2026-05-03 2026-04-30 2026-04-29 2026-04-28 2026-04-27 2026-04-25 2026-04-24 2026-04-22 2026-04-21 2026-04-12 2026-04-08 2026-04-06 2026-04-05 2026-04-02 2026-03-26 2026-03-23 2026-03-21 2026-03-19 2026-03-15 2026-03-14

edit


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-07-18 (木) 03:10:40