iptables限制访问某个IP地址(1)


iptables很好很强大,什么问题他都能管,这不iptables都能限制访问某个IP地址,让我们来看看如何操作的。

经典的说法:http://linux.vbird.org/linux_server/0250simple_firewall.php

[root@www ~]# iptables [-AI 鏈名] [-io 網路介面] [-p 協定] \> [-s 來源IP/網域] [-d 目標IP/網域] -j [ACCEPT|DROP|REJECT|LOG]選項與參數:-AI 鏈名:針對某的鏈進行規則的 "插入" 或 "累加" -A :新增加一條規則,該規則增加在原本規則的最後面。例如原本已經有四條規則, 使用 -A 就可以加上第五條規則! -I :插入一條規則。如果沒有指定此規則的順序,預設是插入變成第一條規則。 例如原本有四條規則,使用 -I 則該規則變成第一條,而原本四條變成 2~5 號 鏈 :有 INPUT, OUTPUT, FORWARD 等,此鏈名稱又與 -io 有關,請看底下。-io 網路介面:設定封包進出的介面規範 -i :封包所進入的那個網路介面,例如 eth0, lo 等介面。需與 INPUT 鏈配合; -o :封包所傳出的那個網路介面,需與 OUTPUT 鏈配合;-p 協定:設定此規則適用於哪種封包格式 主要的封包格式有: tcp, udp, icmp 及 all 。-s 來源 IP/網域:設定此規則之封包的來源項目,可指定單純的 IP 或包括網域,例如: IP :192.168.0.100 網域:192.168.0.0/24, 192.168.0.0/255.255.255.0 均可。 若規範為『不許』時,則加上 ! 即可,例如: -s ! 192.168.100.0/24 表示不許 192.168.100.0/24 之封包來源;-d 目標 IP/網域:同 -s ,只不過這裡指的是目標的 IP 或網域。-j :後面接動作,主要的動作有接受(ACCEPT)、丟棄(DROP)、拒絕(REJECT)及記錄(LOG)

iptables -A INPUT -p tcp -i eth0 -d 207.46.18.94 --dport 80 -j DROP

查看iptables配置情况:iptables -L -n

#--------------------------------------

linux下IPTABLES配置详解

如果你的IPTABLES基础知识还不了解,建议先去看看.

开始配置

我们来配置一个filter表的防火墙.

(1)查看本机关于IPTABLES的设置情况

[root@tp ~]# iptables -L -n

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 RH-Firewall-1-INPUT (0 references)

target prot opt source destination

ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255

ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0

ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0

ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353

ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631

ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80

ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25

REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited

可以看出我在安装linux时,选择了有防火墙,并且开放了22,80,25端口.

如果你在安装linux时没有选择启动防火墙,是这样的

[root@tp ~]# iptables -L -n

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

什么规则都没有.


相关内容