早就听闻iptables很难了,也一直没有学.但是呢,这么基础和重要的东西不掌握点总觉得缺点什么.是的,关闭端口/拒绝访问都不会,要我何用?
-
archlinux安装系统的时候默认就已经安装好了iptables,只是没有开启而已,不信我们看一下就知道了
-
arch wiki上说开启这个服务首先需要有
/etc/iptables/iptables.rules
这个文件,默认是没有的(但是我的系统上有是什么鬼?),没有就自己新建一个sudo touch /etc/iptables/iptables.rules
或者复制一个
sudo cp /etc/iptables/empty.rules /etc/iptables/iptables.rules
-
然后就可以启动了
sudo systemctl start iptables
如果想要开机自动启动的话,就这样设置
sudo systemctl enable iptables
-
如果是使用的ipv6那么就这样设置(多个6而已)
sudo systemctl start ip6tables sudo systemctl enable ip6tables
等等,我启动时竟然出错了?
但是我启动服务时出错了我
终于找到原因了,那个iptables.rules文件中说了要清空内容,但是默认是没有清空的,删掉之后再启动就OK了(所以创建这个文件时还是用touch吧,不要copy的好)
-
可能现在写规则还是会出现一些错误提示,重启一下就ok
-
现在来写第一条规则,了解一下怎么保存规则的
我想阻止别人ping 我的ip地址iptables -A INPUT -p icmp -j DROP
查看写的这条规则:
sudo iptables -nvL
现在写的这个可以临时生效,只要重启后就失效了,所以要保存这条规则,需将规则保存在
/etc/iptables/iptables-rules
中
这条命令需要root权限,但是sudo来执行的话,好像有点问题.所以切换root用户操作su iptables-save > /etc/iptables/iptables-rules
搞定
至此 ,在别的电脑上ping我的ip就ping不通了
开心
网友评论