欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

iptables防火墙只允许指定ip连接指定端口、访问指定网站

程序员文章站 2022-05-06 22:11:46
这篇文章主要介绍了iptables防火墙只允许指定ip连接指定端口、访问指定网站,需要的朋友可以参考下... 15-05-08...

需要开80端口,指定ip和局域网

下面三行的意思:

先关闭所有的80端口

开启ip段192.168.1.0/24端的80口

开启ip段211.123.16.123/24端ip段的80口

# iptables -i input -p tcp --dport 80 -j drop
# iptables -i input -s 192.168.1.0/24 -p tcp --dport 80 -j accept
# iptables -i input -s 211.123.16.123/24 -p tcp --dport 80 -j accept

以上是临时设置。

1.先备份iptables

# cp /etc/sysconfig/iptables /var/tmp

2.然后保存iptables

# service iptables save

3.重启防火墙

#service iptables restart

以下是端口,先全部封再开某些的ip

iptables -i input -p tcp --dport 9889 -j drop
iptables -i input -s 192.168.1.0/24 -p tcp --dport 9889 -j accept

如果用了nat转发记得配合以下才能生效

iptables -i forward -p tcp --dport 80 -j drop
iptables -i forward -s 192.168.1.0/24 -p tcp --dport 80 -j accept

常用的iptables规则如下:

只能收发邮件,别的都关闭
iptables -i filter -m mac --mac-source 00:0f:ea:25:51:37 -j drop
iptables -i filter -m mac --mac-source 00:0f:ea:25:51:37 -p udp --dport 53 -j accept
iptables -i filter -m mac --mac-source 00:0f:ea:25:51:37 -p tcp --dport 25 -j accept
iptables -i filter -m mac --mac-source 00:0f:ea:25:51:37 -p tcp --dport 110 -j accept

ipsec nat 策略
iptables -i pfwanpriv -d 192.168.100.2 -j accept
iptables -t nat -a prerouting -p tcp --dport 80 -d $internet_addr -j dnat --to-destination 192.168.100.2:80

iptables -t nat -a prerouting -p tcp --dport 1723 -d $internet_addr -j dnat --to-destination 192.168.100.2:1723

iptables -t nat -a prerouting -p udp --dport 1723 -d $internet_addr -j dnat --to-destination 192.168.100.2:1723

iptables -t nat -a prerouting -p udp --dport 500 -d $internet_addr -j dnat --to-destination 192.168.100.2:500

iptables -t nat -a prerouting -p udp --dport 4500 -d $internet_addr -j dnat --to-destination 192.168.100.2:4500


ftp服务器的nat

iptables -i pfwanpriv -p tcp --dport 21 -d 192.168.100.200 -j accept
iptables -t nat -a prerouting -p tcp --dport 21 -d $internet_addr -j dnat --to-destination 192.168.100.200:21

只允许访问指定网址
iptables -a filter -p udp --dport 53 -j accept
iptables -a filter -p tcp --dport 53 -j accept
iptables -a filter -d www.3322.org -j accept
iptables -a filter -d img.cn99.com -j accept
iptables -a filter -j drop

开放一个ip的一些端口,其它都封闭
iptables -a filter -p tcp --dport 80 -s 192.168.100.200 -d www.pconline.com.cn -j accept
iptables -a filter -p tcp --dport 25 -s 192.168.100.200 -j accept
iptables -a filter -p tcp --dport 109 -s 192.168.100.200 -j accept
iptables -a filter -p tcp --dport 110 -s 192.168.100.200 -j accept
iptables -a filter -p tcp --dport 53 -j accept
iptables -a filter -p udp --dport 53 -j accept
iptables -a filter -j drop

多个端口
iptables -a filter -p tcp -m multiport --destination-port 22,53,80,110 -s 192.168.20.3 -j reject

连续端口
iptables -a filter -p tcp -m multiport --source-port 22,53,80,110 -s 192.168.20.3 -j reject iptables -a filter -p tcp --source-port 2:80 -s 192.168.20.3 -j reject

指定时间上网
iptables -a filter -s 10.10.10.253 -m time --timestart 6:00 --timestop 11:00 --days mon,tue,wed,thu,fri,sat,sun -j drop
iptables -a filter -m time --timestart 12:00 --timestop 13:00 --days mon,tue,wed,thu,fri,sat,sun -j accept
iptables -a filter -m time --timestart 17:30 --timestop 8:30 --days mon,tue,wed,thu,fri,sat,sun -j accept

禁止多个端口服务
iptables -a filter -m multiport -p tcp --dport 21,23,80 -j accept

将wan 口nat到pc
iptables -t nat -a prerouting -i $internet_if -d $internet_addr -j dnat --to-destination 192.168.0.1


将wan口8000端口nat到192。168。100。200的80端口
iptables -t nat -a prerouting -p tcp --dport 8000 -d $internet_addr -j dnat --to-destination 192.168.100.200:80

mail服务器要转的端口
iptables -t nat -a prerouting -p tcp --dport 110 -d $internet_addr -j dnat --to-destination 192.168.100.200:110
iptables -t nat -a prerouting -p tcp --dport 25 -d $internet_addr -j dnat --to-destination 192.168.100.200:25

只允许ping 202。96。134。133,别的服务都禁止
iptables -a filter -p icmp -s 192.168.100.200 -d 202.96.134.133 -j accept
iptables -a filter -j drop

禁用bt配置
iptables –a filter –p tcp –dport 6000:20000 –j drop

禁用qq防火墙配置
iptables -a filter -p udp --dport ! 53 -j drop
iptables -a filter -d 218.17.209.0/24 -j drop
iptables -a filter -d 218.18.95.0/24 -j drop
iptables -a filter -d 219.133.40.177 -j drop

基于mac,只能收发邮件,其它都拒绝
iptables -i filter -m mac --mac-source 00:0a:eb:97:79:a1 -j drop
iptables -i filter -m mac --mac-source 00:0a:eb:97:79:a1 -p tcp --dport 25 -j accept
iptables -i filter -m mac --mac-source 00:0a:eb:97:79:a1 -p tcp --dport 110 -j accept

禁用msn配置
iptables -a filter -p udp --dport 9 -j drop
iptables -a filter -p tcp --dport 1863 -j drop
iptables -a filter -p tcp --dport 80 -d 207.68.178.238 -j drop
iptables -a filter -p tcp --dport 80 -d 207.46.110.0/24 -j drop

只允许ping 202。96。134。133 其它公网ip都不许ping
iptables -a filter -p icmp -s 192.168.100.200 -d 202.96.134.133 -j accept
iptables -a filter -p icmp -j drop

禁止某个mac地址访问internet:
iptables -i filter -m mac --mac-source 00:20:18:8f:72:f8 -j drop

禁止某个ip地址的ping:
iptables –a filter –p icmp –s 192.168.0.1 –j drop

禁止某个ip地址服务:
iptables –a filter -p tcp -s 192.168.0.1 --dport 80 -j drop
iptables –a filter -p udp -s 192.168.0.1 --dport 53 -j drop

只允许某些服务,其他都拒绝(2条规则)
iptables -a filter -p tcp -s 192.168.0.1 --dport 1000 -j accept
iptables -a filter -j drop

禁止某个ip地址的某个端口服务
iptables -a filter -p tcp -s 10.10.10.253 --dport 80 -j accept
iptables -a filter -p tcp -s 10.10.10.253 --dport 80 -j drop

禁止某个mac地址的某个端口服务

iptables -i filter -p tcp -m mac --mac-source 00:20:18:8f:72:f8 --dport 80 -j drop

禁止某个mac地址访问internet:
iptables -i filter -m mac --mac-source 00:11:22:33:44:55 -j drop

禁止某个ip地址的ping:
iptables –a filter –p icmp –s 192.168.0.1 –j drop