Linux防火墙怎么开放特定端口
Linux防火墙怎么开放特定端口
学习啦小编来给大家介绍下Linux防火墙怎么开放特定端口,也就是只允许某个特定端口才可以通过,其余的不行。下面跟着学习啦小编一起来了解一下吧。
Linux防火墙怎么开放特定端口
iptables是linux下的防火墙,同时也是服务名称。
service iptables status 查看防火墙状态
service iptables start 开启防火墙
service iptables stop 关闭防火墙
service iptables restart 重启防火墙
防火墙开放特定端口:
①文件/etc/sysconfig/iptables
②添加:
学习啦在线学习网 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
(数字8080代表开放8080端口,也可以改成其他的端口)
③重启防火墙
学习啦在线学习网 ================================================================
保存对防火墙的设置
serivce iptables save
查看iptables规则及编号
iptables -nL --line-number
关闭所有的INPUT FORWARD(转发) OUTPUT的所有端口
学习啦在线学习网 iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
只打开22端口
学习啦在线学习网 iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
参数讲解:
–A 参数就看成是添加一条规则
–p 指定是什么协议,我们常用的tcp 协议,当然也有udp,例如53端口的DNS
–dport 就是目标端口,当数据从外部进入服务器为目标端口
学习啦在线学习网 –sport 数据从服务器出去,则为数据源端口使用
–j 就是指定是 ACCEPT -接收 或者 DROP 不接收
禁止某个IP访问
学习啦在线学习网 iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP
学习啦在线学习网 –s 参数是来源(即192.168.1.2)
后面拒绝就是DROP
删除规则
iptables -D INPUT 2
删除INPUT链编号为2的规则
1、允许通过某一端口
学习啦在线学习网 vi /etc/sysconfig/iptables
学习啦在线学习网 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT(允许80端口通过防火墙)
/etc/init.d/iptables restart
学习啦在线学习网 #最后重启防火墙使配置生效
学习啦在线学习网 只允许特定ip访问某端口?参考下面命令,只允许46.166.150.22访问本机的80端口。如果要设置其他ip或端口,改改即可。
学习啦在线学习网 iptables -I INPUT -p TCP --dport 80 -j DROP
iptables -I INPUT -s 46.166.150.22 -p TCP --dport 80 -j ACCEPT
在root用户下执行上面2行命令后,重启iptables, service iptables restart
学习啦在线学习网 查看iptables是否生效:
[root@www.ctohome.com]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
学习啦在线学习网 ACCEPT tcp -- 46.166.150.22 anywhere tcp dpt:http
学习啦在线学习网 DROP tcp -- anywhere anywhere tcp dpt:http
Chain FORWARD (policy ACCEPT)
target prot opt source destination
学习啦在线学习网 Chain OUTPUT (policy ACCEPT)
学习啦在线学习网 target prot opt source destination
学习啦在线学习网 上面命令是针对整个服务器(全部ip)禁止80端口,如果只是需要禁止服务器上某个ip地址的80端口,怎么办?
学习啦在线学习网 下面的命令是只允许来自174.140.3.190的ip访问服务器上216.99.1.216的80端口
iptables -A FORWARD -s 174.140.3.190 -d 216.99.1.216 -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A FORWARD -d 216.99.1.216 -p tcp -m tcp --dport 80 -j DROP
学习啦在线学习网 如果您不熟悉linux的ssh命令,那么可以在webmin/virtualmin面板中设置,达到相同效果。参考:webmin面板怎样设置允许特定ip访问80端口,禁止80端口
更多iptables参考命令如下:
1.先备份iptables
# cp /etc/sysconfig/iptables /var/tmp
学习啦在线学习网 需要开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
以上是临时设置。
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.1.22 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 21 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.1.22:21
学习啦在线学习网 只允许访问指定网址
iptables -A Filter -p udp --dport 53 -j ACCEPT
学习啦在线学习网 iptables -A Filter -p tcp --dport 53 -j ACCEPT
iptables -A Filter -d www.ctohome.com -j ACCEPT
iptables -A Filter -d www.guowaivps.com -j ACCEPT
学习啦在线学习网 iptables -A Filter -j DROP
开放一个IP的一些端口,其它都封闭
学习啦在线学习网 iptables -A Filter -p tcp --dport 80 -s 192.168.1.22 -d www.pconline.com.cn -j ACCEPT
iptables -A Filter -p tcp --dport 25 -s 192.168.1.22 -j ACCEPT
iptables -A Filter -p tcp --dport 109 -s 192.168.1.22 -j ACCEPT
iptables -A Filter -p tcp --dport 110 -s 192.168.1.22 -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.1.22:80
MAIL服务器要转的端口
学习啦在线学习网 iptables -t nat -A PREROUTING -p tcp --dport 110 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.1.22:110
iptables -t nat -A PREROUTING -p tcp --dport 25 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.1.22:25
学习啦在线学习网 只允许PING 202。96。134。133,别的服务都禁止
iptables -A Filter -p icmp -s 192.168.1.22 -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.1.22 -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
启动iptables
service iptables start
iptables –list //*查看iptables规则集*//
下面是没有定义规划时iptables的样子:
学习啦在线学习网 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
如何开启/关闭指定端口
例如:
开启81端口:
学习啦在线学习网 iptables -I INPUT -i eth0 -p tcp –dport 81 -j ACCEPT
iptables -I OUTPUT -o eth0 -p tcp –sport 81 -j ACCEPT
关闭81端口:
iptables -I INPUT -i eth0 -p tcp –dport 81 -j DROP
iptables -I OUTPUT -o eth0 -p tcp –sport 81 -j DROP
然后保存
/etc/rc.d/init.d/iptables save
eth0为网卡名称,可以输入ifconfig来查看网卡信息,注意填写正确的网卡名称。
学习啦在线学习网 可以使用lsof命令来查看某一端口是否开放.查看端口可以这样来使用.
学习啦在线学习网 我就以81端口为例:
学习啦在线学习网 lsof -i:81
如果有显示说明已经开放了,如果没有显示说明没有开放。