美文网首页
VPS & iptables

VPS & iptables

作者: lilith买买买 | 来源:发表于2018-03-21 11:50 被阅读20次

    最近搞了个VPS玩,学一下Linux。
    想着设置一下防火墙,emm……先把本机的防火墙规则清一下。

    iptables -F
    iptables -X
    iptables -Z
    iptables -P INPUT DROP

    ???怎么ssh掉线登不上去了,完了,把自己也关在家门外了。

    解决
    登录控制台,加一下ssh的端口

    iptables -A INPUT -p tcp -m tcp --dport 234 -j ACCEPT #端口234修改成自己的
    service iptables save #保存配置
    service iptables restart #重启iptables

    改配置文件/etc/sysconfig/iptables也可以
    okay 可以接着玩了。

    因为我还搭了ss,其他配置参考了http://www.cnblogs.com/3body/p/6140150.html

    2018/09/12半年过去了,平时没有用iptables,又忘记用法,还是来记一笔,供自己以后查看。全部参考的上面的链接。

    初始化,清空所有现有的规则:
    iptables -F #清空所有链
    iptables -X #清空所有自定义链
    
    定义规则:
    由于我们的目的是放弃所有无关于shadowsocks的数据,也就是说默认丢弃所有数据,只接受满足条件的数据,无疑是一种很安全的做法。
    
    首先添加ssh端口:
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT #22自行修改,如我设置的 8888 端口
    
    添加以下六条规则:
    iptables -A INPUT -p icmp --icmp-type any -j ACCEPT #允许icmp包进入
    iptables -A INPUT -s localhost -d localhost -j ACCEPT #允许本地的数据包
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许已经建立和相关的数据包进入
    iptables -A OUTPUT -p icmp --icmp any -j ACCEPT #允许icmp包出去
    iptables -A OUTPUT -s localhost -d localhost -j ACCEPT #允许本地数据包
    iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许已经建立和相关的数据包出去
    
    需要注意的是,以上的七条基本上是必须添加的;下面开始添加其他必要端口:
    iptables -A OUTPUT -p udp --dport 53 -j ACCEPT #打开DNS需要用到的53端口
    iptables -A OUTPUT -p tcp -m state --state NEW --dport 80 -j ACCEPT #允许80端口tcp协议的第一个数据包
    iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #允许ESTABLISHED和RELATED状态的包
    iptables -A INPUT -p tcp --dport 443 -j ACCEPT #打开https需要用到的443端口
    

    相关文章

      网友评论

          本文标题:VPS & iptables

          本文链接:https://www.haomeiwen.com/subject/yjwwqftx.html