
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -s 192.168.1.2 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p icmp -j ACCEPT
-A INPUT -i eth0 -j DROP
COMMIT
2、/etc/init.d/iptables restart
3、iptables -nvL检查
4、-s 192.168.1.2即只允许192.168.1.2访问
linux下要使用iptables限制只有指定的ip才能访问本机则需要先设置一个默认的规则iptables有默认的规则,它可以适用于所有的访问
因为只有指定或特定的ip地址才能访问本机
所以可以将默认的规则设置为所有访问全部阻止(当然这里需要注意下,如果你要设置的机器是在远端,比如vps则需要注意在设置默认规则的同时要将与该服务器链接的ip添加进白名单,否则在设置完默认阻止后你也无法访问这台服务器,也无法再进行 *** 作了,我们可以使用分号或者&&来在同一个命令行下来完成默认阻止和将自己的ip添加进白名单,假如你的ip地址为1.2.3.4则可以这样输入iptables -P INPUT DROPiptables -A INPUT -s 1.2.3.4 -p tcp -j ACCEPT,或者也可以指定一个端口)
设置默认规则后则可以添加白名单了
比如允许2.3.4.5访问则可以
iptables -A INPUT -s 2.3.4.5 -p tcp -j ACCEPT
如果要限定的不是整个服务器而只是该服务器中的某个服务
比如web服务(一般端口在80,https在443)
则我们可以使用0.0.0.0/0来阻止所有的ip地址
比如
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 80 -j DROP
以及
iptables -A INPUT -s 0.0.0.0/0 -p tcp --dport 443 -j DROP
来阻止所有访问web服务器的ip地址
然后再添加指定的ip到白名单
比如添加1.2.3.4,我们可以
iptables -A INPUT -s 1.2.3.4 -p tcp --dport 80 -j ACCEPT
如果我们允许某个网段下的所有ip都可以访问的话比如1.2.3.[0-255],我们可以
iptables -A INPUT -s 1.2.3.0/24 -p tcp --dport -j ACCEPT
总之不管是阻止所有的服务还是只阻止指定的服务
我们可以先将默认的规则设置为所有ip都不可访问
然后再手动添加ip地址到白名单
虚拟机linux防火墙设置步骤如下:
1、选择应用程序--系统工具--终端,输入setup。
2、输入setup后,d出如图所示情况,选择防火墙配置,回车。
3、星代表防火墙开启,要关闭的话,选中启用框(按TAB键选中),选中后按键盘空格键去掉星,再按TAB键,选中确定按钮,选择是。
4、选择网络配置,如图选择设备配置,回车; 选择设备,再回车,进入网络IP设置界面。
5、去掉DHCP中的星号,指定IP地址,确定,选择保存,回车再选择选择保存并退出,回车。
6、重新启动网络,输入命令:service network restart,选择右上角的网络图标,选择连接网络,从本地ping该虚拟机的IP能成功。
7、也可以通过linux命令修改IP:vi /etc/sysconfig/network-scripts/ifcfg-eth0,重启 service network restart。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)