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
(設定を保存)

トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2019-07-18 (木) 03:10:40 (96d)