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

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



竹島です。

お世話になります。

poweredgeの報告を兼ねてます。
sarge:~# cat /etc/fstab
ーーーーーーーーーーーー
# /etc/fstab: static file system information.
#
# <file system> <mount point>   <type>  <options>               <dump>  <pass>
/dev/sda2       /               ext3    errors=remount-ro       0       1  これがscsi raid5です
/dev/sda1       none            swap    sw                      0       0
proc            /proc           proc    defaults                0       0
/dev/fd0        /floppy         auto    user,noauto             0       0
/dev/cdrom      /cdrom          iso9660 ro,user,noauto          0       0
ーーーーーーーーーーーー
でした。


本題です。
fletz ISDN
|
router
NIC 192.168.1.50
|
NIC 192.168.1.250
sarge
NIC 192.168.72.250
|
HUB
|
PC 1、2、3。。。

といった環境で 
特定のpcからのみ 
インターネットサーフィンと lynx 192.168.72.250とができ

他のpcからはlynx 192.168.72.250とができるだけ(つまりイントラのwebサーバーが見れるだけ)
という下のパケットルールが、
一応動きはしますが、ずいぶん汚い 冗長なルールと思います。
監査お願いできたら 大変ありがたいと存じ 叩き台として提出します。


sarge:~# cat simple-personal-firewall.bat
#!/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

# 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.102 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.102 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.102 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
ここが苦肉の策の なんとか lynx 192.168.72.250 させようとしてます。

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.207/32 -p tcp   --destination-port  80   -j  DROP 
ここもです。 120と207からは インターネットサーフィンができないようにしてます。
OUTPUT や INPUTのところはいくらいじくってもダメでした。
でも もっといい知恵がありそうです。
# -------<


#--NAT----------------------------------------------------------------------
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.72.221/32   -j MASQUERADE

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

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.72.120/32   -j MASQUERADE

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 
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         
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.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.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         

でした。

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