• 作者:SuperPaxxs扶摇直上九万里,绝云气,负青天,不知图哪了,正在努力搜索中..
    • 请在Chrome、Firefox等现代浏览器浏览本站。 有事 点击这里 联系博主
    • 想在魔帆博客投稿? 点击这里 联系博主
    • [ 既然来了就多看两篇文章嘛,你好意思走么? ]
    • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏魔帆博客吧

Linux下防火墙配置

无聊又玩了下linux系统,这里记录一下linux的防火墙配置

首先确保你开启了iptables服务,如果没有的话,通过以下命令开启:

# systemctl start iptables

清除现在的配置,使之回复到默认状态:

# iptables -F
# iptables -X
# iptables -t nat -F
# iptables -t nat -X
# iptables -t raw -F
# iptables -t raw -X
# iptables -t mangle -F
# iptables -t mangle -X
# iptables -t security -F
# iptables -t security -X

在filter表中添加TCP和UDP两条chian,分别用来处理tcp连接和udp连接:

# iptables -N TCP
# iptables -N UDP

修改filter表中几条默认chian的policy:

# iptables -P OUPUT ACCEPT
# iptables -P INPUT DROP
# iptables -P FORWARD DROP

接受状态为RELATEDESTABLISHED的包:

# iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

接受来着本地回环lo的包:

# iptables -A INPUT -i lo -j ACCEPT

丢弃状态为INVALID的包:

# iptables -A INPUT -m conntrack --ctstate INVALID -j DROP

接受来自ICMP协议的echo-request的第一个请求包:

# iptables -A INPUT -p icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT

将第一个udp包或者连接请求tcp包分别交给UDPchian和TCPchain处理:

# iptables -A INPUT -p udp -m conntrack --ctstate NEW -j UDP
# iptables -A INPUT -p tcp --syn -m conntrack --ctstate NEW -j TCP

添加两条INPUT规则(rule),使得Linux系统默认分别使用icmp-port-unreachabletcp-rst拒绝udp协议和tcp协议的包:

# iptables -A INPUT -p udp -m conntrack --ctstate NEW -j UDP
# iptables -A INPUT -p tcp --syn -m conntrack --ctstate NEW -j TCP

添加INPUTchian的最后一条规则,使得Linux拒绝所有的其他包:

# iptables -A INPUT -j REJECT --reject-with icmp-proto-unreachable

最后,将以上的iptables配置保存到配置文件,以便下一次启动iptables时可以自动生效以上配置:

# iptables-save > /etc/iptables/iptables.rules

这是示例配置文件:

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:TCP - [0:0]
:UDP - [0:0]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
COMMIT

魔帆博客 , 版权所有丨如未注明 , 均为原创丨本网站均采用BY-NC-SA协议进行授权 , 转载请注明Linux下防火墙配置
喜欢 (2)
[]
分享 (0)
Super Paxxs
关于作者:
一只初中狗,对网站建设和编程非常感兴趣。
发表我的评论
取消评论
表情 加粗 删除线 居中 斜体

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮