[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