[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:37664] Re: iptable 特定のPCだけインターネットサーフィン 他はイントラのwebサーバーが見れるだけ



竹島です。

長文を書いた後 エンコーデングが間違っているかもしれないとでましたが、送信させて頂きました。
前回の投稿では winな192。168。72。131から winな192。168。72。120がみえてしまいます。
それで後述のルールに代えました。
 
 > fletz ISDN
 > |
 > router
 > NIC 192.168.1.50
 > |
 > NIC 192.168.1.250
 > sarge
 > NIC 192.168.72.250
 > |
 > HUBーー192。168。72。120、192。168。72。207
 > |
 > 192。168。72。131、192。168。72。131
 > といった環境で 

すると、
winな192。168。72。120から winな192。168。72。131は みえるのは当然としても
winな192。168。72。131から   winな192。168。72。120は 見えないのが不思議です。
(192.168.72.250は経由しないはずなのに)

なお
winな192。168。72。120から winな192。168。72。207は見え、
winな192。168。72。131から   winな192。168。72。132も見えます。

あたかも
192。168。72。131+192。168。72。132  と
192。168。72。120+192。168。72。207 と の間に 壁ができてるかのように振舞います。
不思議です。


なお、 テーブル ルールは以下です。
ーーーーーーーーーーーーーーーーーーーー
#!/bin/sh

#---
echo 0 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv4/ip_forward
#---

/etc/init.d/iptables clear

IPTABLES=`which iptables`
MODPROBE=`which modprobe`

$MODPROBE ip_tables

$IPTABLES -P INPUT   DROP 
$IPTABLES -P OUTPUT  ACCEPT
$IPTABLES -P FORWARD ACCEPT

$IPTABLES -F INPUT
$IPTABLES -F FORWARD
$IPTABLES -F OUTPUT

$IPTABLES -A INPUT  -i lo              -j ACCEPT
$IPTABLES -A INPUT  -p tcp --destination-port ssh -j ACCEPT

# samba =============================>>
$IPTABLES -A INPUT  -p tcp  -s 192.168.72.0/24   --destination-port 137:139 -j ACCEPT
$IPTABLES -A INPUT  -p udp  -s 192.168.72.0/24   --destination-port 137:139 -j ACCEPT

# 3rd block--->
# 3rd block  ++++++  前回から 大幅に手直しをした所です  --->
$IPTABLES -t nat -A PREROUTING -i eth1 -s 192.168.72.130/32 -p tcp -d 192.168.72.250/32  --destination-port 137:139 -j  DROP
$IPTABLES -t nat -A PREROUTING -i eth1 -s 192.168.72.130/32 -p udp -d 192.168.72.250/32  --destination-port 137:139 -j  DROP
$IPTABLES        -A INPUT  -p tcp      -s 192.168.72.130/32        -d 192.168.72.250/32  --destination-port 137:139 -j  DROP
$IPTABLES        -A INPUT  -p udp      -s 192.168.72.130/32        -d 192.168.72.250/32  --destination-port 137:139 -j  DROP

$IPTABLES -t nat -A PREROUTING -i eth1 -s 192.168.72.131/32 -p tcp -d 192.168.72.250/32  --destination-port 137:139 -j  DROP
$IPTABLES -t nat -A PREROUTING -i eth1 -s 192.168.72.131/32 -p udp -d 192.168.72.250/32  --destination-port 137:139 -j  DROP
$IPTABLES        -A INPUT  -p tcp      -s 192.168.72.131/32        -d 192.168.72.250/32  --destination-port 137:139 -j  DROP
$IPTABLES        -A INPUT  -p udp      -s 192.168.72.131/32        -d 192.168.72.250/32  --destination-port 137:139 -j  DROP

$IPTABLES -t nat -A PREROUTING -i eth1 -s 192.168.72.132/32 -p tcp -d 192.168.72.250/32  --destination-port 137:139 -j  DROP
$IPTABLES -t nat -A PREROUTING -i eth1 -s 192.168.72.132/32 -p udp -d 192.168.72.250/32  --destination-port 137:139 -j  DROP
$IPTABLES        -A INPUT  -p tcp      -s 192.168.72.132/32        -d 192.168.72.250/32  --destination-port 137:139 -j  DROP
$IPTABLES        -A INPUT  -p udp      -s 192.168.72.132/32        -d 192.168.72.250/32  --destination-port 137:139 -j  DROP
#            ++++++ ---<
# ===================================<<



# ftp    ------->
$IPTABLES -A INPUT  -p tcp --destination-port ftp          -j ACCEPT
$IPTABLES -A INPUT  -p tcp --destination-port ftp-data     -j ACCEPT


# mail --- smtp
# any can access 192.168.72.250 smtp server
$IPTABLES -A INPUT -p tcp  -s 192.168.72.0/24 --destination-port 25 -j ACCEPT


#mail ---- pop
# any can access 192.168.72.250 pop server
$IPTABLES -A INPUT -p tcp -s 192.168.72.0/24 --destination-port 110 -j ACCEPT
$IPTABLES -A INPUT -p udp -s 192.168.72.0/24 --destination-port 110 -j ACCEPT


# www ============================>>>>>
# any can access 192.168.72.250 www server
$IPTABLES -A INPUT            -i eth1 -s 192.168.72.0/24   -p tcp -d 192.168.72.250/32 --destination-port  80 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -i eth1 -d 192.168.72.250/32 -p tcp   --destination-port  80   -j  ACCEPT

# restrict internet www (120 133 207)  ----------------->
$IPTABLES -t nat -A PREROUTING -i eth1 -s 192.168.72.120/32 -p tcp   --destination-port  80   -j  DROP 
$IPTABLES -t nat -A PREROUTING -i eth1 -s 192.168.72.131/32 -p tcp   --destination-port  80   -j  DROP 
$IPTABLES -t nat -A PREROUTING -i eth1 -s 192.168.72.132/32 -p tcp   --destination-port  80   -j  DROP 
$IPTABLES -t nat -A PREROUTING -i eth1 -s 192.168.72.133/32 -p tcp   --destination-port  80   -j  DROP 
$IPTABLES -t nat -A PREROUTING -i eth1 -s 192.168.72.207/32 -p tcp   --destination-port  80   -j  DROP 
# ---------------------------------------<



# NAT can go outside world 221 203 233 (120 133 107)------------->  
#vine
$IPTABLES -t nat -A POSTROUTING -o eth0 -s 192.168.72.221/32   -j MASQUERADE

#iii
$IPTABLES -t nat -A POSTROUTING -o eth0 -s 192.168.72.203/32   -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -o eth0 -s 192.168.72.233/32   -j MASQUERADE

#psw
$IPTABLES -t nat -A POSTROUTING -o eth0 -s 192.168.72.120/32   -j MASQUERADE

#3wd
$IPTABLES -t nat -A POSTROUTING -o eth0 -s 192.168.72.130/32   -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -o eth0 -s 192.168.72.131/32   -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -o eth0 -s 192.168.72.132/32   -j MASQUERADE

#kkk
$IPTABLES -t nat -A POSTROUTING -o eth0 -s 192.168.72.207/32   -j MASQUERADE
#-----------------------------------------<


$IPTABLES -A  INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT \
       --modprobe=$MODPROBE

$IPTABLES -A  INPUT -j DROP

/etc/init.d/iptables save active
/etc/init.d/iptables save inactive
dpkg-reconfigure iptables

iptables -L -t filter
iptables -L -t nat 
iptables -L -t mangle




それでどうなったかは以下です。
ーーーーーーーーーーーーーーー
Clearing iptables ruleset: default ACCEPT policy.
Savinging iptables ruleset: save "active" with counters.
Savinging iptables ruleset: save "inactive" with counters.
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere           
ACCEPT     tcp  --  anywhere             anywhere           tcp dpt:ssh 
ACCEPT     tcp  --  localnet/24          anywhere           tcp dpts:netbios-ns:netbios-ssn 
ACCEPT     udp  --  localnet/24          anywhere           udp dpts:netbios-ns:netbios-ssn 
DROP       tcp  --  192.168.72.130       192.168.72.250     tcp dpts:netbios-ns:netbios-ssn 
DROP       udp  --  192.168.72.130       192.168.72.250     udp dpts:netbios-ns:netbios-ssn 
DROP       tcp  --  192.168.72.131       192.168.72.250     tcp dpts:netbios-ns:netbios-ssn 
DROP       udp  --  192.168.72.131       192.168.72.250     udp dpts:netbios-ns:netbios-ssn 
DROP       tcp  --  192.168.72.132       192.168.72.250     tcp dpts:netbios-ns:netbios-ssn 
DROP       udp  --  192.168.72.132       192.168.72.250     udp dpts:netbios-ns:netbios-ssn 
ACCEPT     tcp  --  anywhere             anywhere           tcp dpt:ftp 
ACCEPT     tcp  --  anywhere             anywhere           tcp dpt:ftp-data 
ACCEPT     tcp  --  localnet/24          anywhere           tcp dpt:smtp 
ACCEPT     tcp  --  localnet/24          anywhere           tcp dpt:pop3 
ACCEPT     udp  --  localnet/24          anywhere           udp dpt:pop3 
ACCEPT     tcp  --  localnet/24          192.168.72.250     tcp dpt:www 
ACCEPT     all  --  anywhere             anywhere           state RELATED,ESTABLISHED 
DROP       all  --  anywhere             anywhere           

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DROP       tcp  --  192.168.72.130       192.168.72.250     tcp dpts:netbios-ns:netbios-ssn 
DROP       udp  --  192.168.72.130       192.168.72.250     udp dpts:netbios-ns:netbios-ssn 
DROP       tcp  --  192.168.72.131       192.168.72.250     tcp dpts:netbios-ns:netbios-ssn 
DROP       udp  --  192.168.72.131       192.168.72.250     udp dpts:netbios-ns:netbios-ssn 
DROP       tcp  --  192.168.72.132       192.168.72.250     tcp dpts:netbios-ns:netbios-ssn 
DROP       udp  --  192.168.72.132       192.168.72.250     udp dpts:netbios-ns:netbios-ssn 
ACCEPT     tcp  --  anywhere             192.168.72.250     tcp dpt:www 
DROP       tcp  --  192.168.72.120       anywhere           tcp dpt:www 
DROP       tcp  --  192.168.72.131       anywhere           tcp dpt:www 
DROP       tcp  --  192.168.72.132       anywhere           tcp dpt:www 
DROP       tcp  --  192.168.72.133       anywhere           tcp dpt:www 
DROP       tcp  --  192.168.72.207       anywhere           tcp dpt:www 

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DROP       tcp  --  192.168.72.130       192.168.72.250     tcp dpts:netbios-ns:netbios-ssn 
DROP       udp  --  192.168.72.130       192.168.72.250     udp dpts:netbios-ns:netbios-ssn 
DROP       tcp  --  192.168.72.131       192.168.72.250     tcp dpts:netbios-ns:netbios-ssn 
DROP       udp  --  192.168.72.131       192.168.72.250     udp dpts:netbios-ns:netbios-ssn 
DROP       tcp  --  192.168.72.132       192.168.72.250     tcp dpts:netbios-ns:netbios-ssn 
DROP       udp  --  192.168.72.132       192.168.72.250     udp dpts:netbios-ns:netbios-ssn 
ACCEPT     tcp  --  anywhere             192.168.72.250     tcp dpt:www 
DROP       tcp  --  192.168.72.120       anywhere           tcp dpt:www 
DROP       tcp  --  192.168.72.131       anywhere           tcp dpt:www 
DROP       tcp  --  192.168.72.132       anywhere           tcp dpt:www 
DROP       tcp  --  192.168.72.133       anywhere           tcp dpt:www 
DROP       tcp  --  192.168.72.207       anywhere           tcp dpt:www 

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  192.168.72.221       anywhere           
MASQUERADE  all  --  192.168.72.203       anywhere           
MASQUERADE  all  --  192.168.72.233       anywhere           
MASQUERADE  all  --  192.168.72.120       anywhere           
MASQUERADE  all  --  192.168.72.130       anywhere           
MASQUERADE  all  --  192.168.72.131       anywhere           
MASQUERADE  all  --  192.168.72.132       anywhere           
MASQUERADE  all  --  192.168.72.207       anywhere           

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

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         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         

winな192。168。72。131から   winな192。168。72。120はみえないのに対する
全くの当て推量ですが、

普通はwinな192。168。72。131は winな192。168。72。120に直行するのですが
$IPTABLES -t nat -A PREROUTING -i eth1 -s 192.168.72.131/32 -p tcp -d 192.168.72.250/32  --destination-port 137:139 -j  DROP
$IPTABLES -t nat -A PREROUTING -i eth1 -s 192.168.72.131/32 -p udp -d 192.168.72.250/32  --destination-port 137:139 -j  DROP
が あるために192。168。72。131は 192.168.72.250に natのため磁石のように吹い寄せられ DROPルールを受けたと考えました。
でも、こうだとすると ちょっと怖いことも 起こりそうな気もします。

-- 
HP   nakajin.dyndns.org
Mail nakazintuyosi@xxxxxxxxxxxxxxxxxx
ママ裸じゃ嫌 一家に一台firewall