① linux 用iptables 如何禁止本机某一个网卡去访问别人的80服务
iptables -t filter -A OUTPUT -s网卡IP -d0.0.0.0/0 -p tcp --dport 80 -j DROP
② LInux iptables 屏蔽设置
1.修改SSH配置文件:/etc/ssh/sshd_config #找到Port 22,这里是标识默认使用22端口,修改为:
Port 22
Port 1234
/etc/init.d/sshd restart
#这样SSH端口将同时工作在22、1234上
查看防火墙规则
1、iptables -nvL
2、more /etc/sysconfig/iptables
2.添加防火墙规则
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 1234 -j ACCEPT
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables restart
然后使用SSH工具 测试 你所设置的端口是否能正常使用
如果能正常使用返回到第一步,删除原来的22端口,以及修改防火墙配置文件
之所以先设置成两个端口,测试成功后再关闭一个端口,是为了方式在修改的过程中,万一出现掉线、断网、误操作等未知情况时候,还能通过另外一个端口连接上去调试以免发生连接不上的状况。
开启自动启动:chkconfig iptables on
开启不自动启动:chkconfig iptables off
附录:
设定预设规则,INPUT链默认拒绝,OUTPUT链默认接受,FORWARD链默认拒绝
iptables -F #清除预设表filter中的所有规则链的规则
iptables -X #清除预设表filter中使用者自定链中的规则
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -L -n --line #按行数显示防火墙规则
iptables -D INPUT 1 #删除INPUT表第一条
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #来源、目的为127.0.0.1都接受,这条放最后就可以了
1、安装iptables防火墙
如果没有安装iptables需要先安装,CentOS执行:
yum install iptables
Debian/Ubuntu执行:
apt-get install iptables
2、清除已有iptables规则
iptables -F
iptables -X
iptables -Z
3、开放指定的端口
#允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# 允许已建立的或相关连的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT
# 允许访问22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#允许访问80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#允许FTP服务的21和20端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#如果有其他端口的话,规则也类似,稍微修改上述语句就行
#禁止其他未允许的规则访问
iptables -A INPUT -j REJECT (注意:如果22端口未加入允许规则,SSH链接会直接断开。)
iptables -A FORWARD -j REJECT
4、屏蔽IP
#如果只是想屏蔽IP的话“3、开放指定的端口”可以直接跳过。
#屏蔽单个IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
#封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
#封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
#封IP段即从123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP
5、查看已添加的iptables规则
iptables -L -n
v:显示详细信息,包括每条规则的匹配包数量和匹配字节数
x:在 v 的基础上,禁止自动单位换算(K、M) vps侦探
n:只显示IP地址和端口号,不将ip解析为域名
6、删除已添加的iptables规则
将所有iptables以序号标记显示,执行:
iptables -L -n --line-numbers
比如要删除INPUT里序号为8的规则,执行:
iptables -D INPUT 8
7、iptables的开机启动及规则保存
CentOS上可能会存在安装好iptables后,iptables并不开机自启动,可以执行一下:
chkconfig --level 345 iptables on
开启自动启动:chkconfig iptables on
开启不自动启动:chkconfig iptables off
将其加入开机启动。
CentOS上可以执行:
service iptables save
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables restart
保存规则。
另外更需要注意的是Debian/Ubuntu上iptables是不会保存规则的。
需要按如下步骤进行,让网卡关闭是保存iptables规则,启动时加载iptables规则:
创建/etc/network/if-post-down.d/iptables 文件,添加如下内容:
#!/bin/bash
iptables-save > /etc/iptables.rules
执行:chmod +x /etc/network/if-post-down.d/iptables 添加执行权限。
创建/etc/network/if-pre-up.d/iptables 文件,添加如下内容:
#!/bin/bash
iptables-restore < /etc/iptables.rules
执行:chmod +x /etc/network/if-pre-up.d/iptables 添加执行权限。
关于更多的iptables的使用方法可以执行:iptables --help或网上搜索一下iptables参数的说明。
注:每次服务在停止之前会自动将现有的规则保存
在 /etc/sysconfig/iptables 这个文件中去.
③ 利用iptables ,如何关闭3006端口的服务,或限制外部IP访问3006端口,ssh命令是什么呢
限制访问本机的3006端口的服务的iptables规则:
iptables -A INPUT -p tcp --dport 3006 -j DROP
iptables -A INPUT -p udp --dport 3006 -j DROP
ssh服务对应的22端口
通过命令
ps -aux | grep ssh
可以看到提供ssh服务的进程。
如果你想使用ssh访问192.168.1.1服务器,就用命令
ssh 192.168.1.1就可以了,然后输入用户名和密码,就可以登录到192.168.1.1的shell命令行了。
④ linux的iptables如何禁止不同网段访问端口
禁止同网段的单个IP你知道怎么操作的话,禁止不同网段也很简单了,只需要把单个IP换成以子网掩码格式表示的网段地址即可。
比如你给出的网段地址172.16.101.0这个网段,你只禁用172.16.101.50-172.16.101.254这个地址段,前面的一段不禁用,那么就需要计算对应的子网掩码值,前面不禁用的共49个地址,2的5次方是32,2的6次方是64。那么掩码值就是29或者30,对应不到49个ip地址。因此你可以这样配置:
禁用172.168.101.0/29 地址段,放行了172.168.101.1-172.168.101.31,还需要单独放行172.168.101.32-172.168.101.49,你就需要单独每个ip来进行放行了。后面的整段IP禁用就比较简单了,直接禁用
172.168.102.0/24
172.168.103.0/24
我这里只是提供一个思路,如果你觉得比较麻烦,那么还可以自己计算172.168.101.0-172.168.202.0这个网段的子网掩码,我计算了以下,大概是
172.168.101.0/23,但是中间还有若干个网段需要单独设置,具体的操作就要你自己来做了。
⑤ iptables实现禁用端口
iptables实现禁用端口!
这里用iptables屏蔽端口25,防止被利用发垃圾邮件导致VPS被封
用iptables屏蔽全部IP连接25端口:
上面这一条命令就够了
=======
如果需要特殊情况请看下面的命令
只允许特定ip连接25端口:
重新禁止此ip连接25端口,删除上述许可记录就可以了:
需要禁止特定ip连接25端口:
⑥ Linux下如何用iptables限制某段IP访问服务器
比如禁止192.168.0.x网段访问服务器iptables -A input -p tcp -s 192.168.0.0/24 -j DROP如果是允许访问iptables -A input -p tcp -s 192.168.0.0/24 -j ACCEPT如果是禁止访问服务器某一端口号iptables -A input -p tcp -s 192.168.0.0/24 --dport (端口号) -DROP 差不多就是这样了,如果还要学习的话就要看书了。发给你个Iptables命令基础参考资料http://wenku..com/view/4c5eb5d528ea81c758f578df.html
⑦ 求5条iptables命令关闭所有端口(除80端口外),封锁整个linux
1、关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放。
下面是命令实现:
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
再用命令 iptables -L -n 查看 是否设置好, 好看到全部 DROP 了
这样的设置好了,我们只是临时的, 重启服务器还是会恢复原来没有设置的状态
还要使用 service iptables save 进行保存
看到信息 firewall rules 防火墙的规则 其实就是保存在 /etc/sysconfig/iptables
可以打开文件查看 vi /etc/sysconfig/iptables
2、下面我只打开22端口,看我是如何操作的,就是下面2个语句
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
再查看下 iptables -L -n 是否添加上去, 看到添加了
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:22
现在Linux服务器只打开了22端口,用putty.exe测试一下是否可以链接上去。
可以链接上去了,说明没有问题。
最后别忘记了保存 对防火墙的设置
通过命令:service iptables save 进行保存
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
针对这2条命令进行一些讲解吧
-A 参数就看成是添加一条 INPUT 的规则
-p 指定是什么协议 我们常用的tcp 协议,当然也有udp 例如53端口的DNS
到时我们要配置DNS用到53端口 大家就会发现使用udp协议的
而 --dport 就是目标端口 当数据从外部进入服务器为目标端口
反之 数据从服务器出去 则为数据源端口 使用 --sport
-j 就是指定是 ACCEPT 接收 或者 DROP 不接收
⑧ ubuntu 使用iptables 如何禁止任何和端口5353的访问
iptables -A INPUT -S port:5353 deny 就是禁止任意IP的源口为5353的包入站
或者
iptables -A OUTPUT -d port:5353 deny 禁止任意IP的目的口为5353的包出站
可以设置行为禁止做丢弃包,这是对你本机,转发的要另写
⑨ linux下如何屏蔽端口
端口是linux下应用软件因需要而开启的socket套接字,具有唯一性。端口可以查看、启动关闭、设置防火墙规则等。
1、端口查看
netstat -tln //表示已数字形式查看,正在监听的端口
netstat -ap //查看所有应用占用端口情况
2、启动停止
端口自己是不会停止和启动的,需要停止和启动的是端口对应的应用。
可以先找到端口,再对应PID,命令如下:
netstat -anp|grep 57069 //这个是要找的端口号
lsof -i:57069 //查找器PID信息
第三部杀死进程:图例里面没有在这里写上,kill -9 PID
3、屏蔽
linux下一般使用防火墙的filter规则 定义允许或者不允许进行屏蔽。对于filter一般只能做在3个链上:INPUT ,FORWARD ,OUTPUT。
例如设置在输入端屏蔽53端口:
iptables-AINPUT1-d172.16.100.1-pudp--dport53-jREJECT
-A是增加规则,-d:表示匹配目标地址,-pudp表示UPD协议,--dPort 是端口53
这里表示在输入端目的地址是172.16.100.1的53端口被屏蔽
⑩ linux运维之iptables的一些操作(参考大神的)
1.安装iptables管理命令
2.加载防火墙的内核模块
3.查看已加载的模块
4.启动防火墙
首先停止firewalld
开启iptables
1.查看防火墙规则
2.清除防火墙规则
3.添加防火墙规则
4.网络连接状态
5.删除某个规则
1.禁止某个端口访问
2.规则解释:
3.禁止除跳板机以外的IP访问
4.匹配端口范围
5. 匹配ICMP类型
6.一些操作
1、封掉10.0.0.7
2、让10.0.0.7和SSH客户端(10.0.0.1)服务器可以Ping,其它的不能Ping
3、封掉3306端口
1.从上往下依次匹配
2.一但匹配上,就不在往下匹配了
3.默认规则,默认的情况,默认规则是放行所有
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables A INPUT -p tcp -m state --dport 22 -j DROP
禁止一个数据包:
tcp协议
访问的端口是22
禁止源地址是10.0.0.7的主机访问22端口
禁止源地址是10.0.0.7的主机访问任何端口
禁止源地址是10.0.0.8的主机访问80端口
禁止除了10.0.0.7以外的地址访问80端口
2条规则冲突,会以谁先谁为准
禁止10.0.0.7访问22和80端口
禁止10.0.0.7访问22到100之间的所有端口
禁止所有主机ping
放行10.0.0.7可以ping
只允许10.0.0.7可以ping
等同于上一条,优化版,只要不是10.0.0.7就不允许ping
优先级:
匹配频次最高的条件放前面