centos6版本iptables常用设置

默认策略

# iptables -LChain INPUT (policy ACCEPT)

target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

################常用操作#########################

#清除预设表filter中的所有规则链的规则

iptables -F

#清除预设表filter中使用者自定链中的规则

iptables -X

#保存iptables配置

service iptables save

#重启iptables服务

service iptables restart

#查看iptables规则

iptables -L -n

#查看iptables规则文件

cat /etc/sysconfig/iptables

###################设置规程的流程###############

配置远端的server的时候,一定要注意的问题:

不要先设置 DROP 规程,一定要保留ssh的端口可以链接,否则一旦把ssh端口DROP,远端的server就不能链接了。
第一次创建规则要使用-F 清空,否者会出现很多奇怪的问题!

###############配置filter表防火墙###############

#开启22端口 (如果改了ssh的端口22,使用对应得端口)

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#如果OUTPUT设置成DROP需要添加

 iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

#关闭22端口

 iptables -D INPUT -p tcp --dport 22 -j ACCEPT

#开启常用端口

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
#iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
#iptables -A OUTPUT -p tcp --sport 3306 -j ACCEPT
#iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#iptables -A INPUT -p tcp --dport 10000 -j ACCEPT
#iptables -A INPUT -p tcp --dport 25 -j ACCEPT
#iptables -A INPUT -p tcp --dport 110 -j ACCEPT
#iptables -A INPUT -p udp --dport 53 -j ACCEPT

#允许ping

iptables -A INPUT -p icmp -j ACCEPT

#如果OUTPUT设置成DROP需要添加

iptables -A OUTPUT -p icmp -j ACCEPT

#允许loopback

iptables -A INPUT -i lo -p all -j ACCEPT

#如果OUTPUT设置成DROP需要添加

 iptables -A OUTPUT -o lo -p all -j ACCEPT

#屏蔽指定ip

iptables -A INPUT -p tcp -s 192.168.10.1 -j DROP

#减少不安全的端口连接

# iptables -A OUTPUT -p tcp --sport 31337 -j DROP
# iptables -A OUTPUT -p tcp --dport 31337 -j DROP

#允许某个IP远程连接

#iptables -A INPUT -s 192.168.10.1 -p tcp --dport 22 -j ACCEPT

#允许某个网段的IP远程连接

iptables -A INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT

#允许指定网段通过、指定网口通过SSH连接本机

# iptables -A INPUT -i eth0 -p tcp -s 192.168.10.0/24 --dport 22 -m state --state NEW,ESTABLESHED -j ACCEPT
# iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
# iptables -A INPUT -i eth0 -p tcp -s 192.168.10.0/24 --dport 22 -m state --state ESTABLESHED -j ACCEPT
# iptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

#开启转发功能

# iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -A FORWARD -i eth1 -o eh0 -j ACCEPT

#丢弃坏的TCP包

# iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP

#处理IP碎片数量,防止攻击,允许每秒100个

# iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT

#设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包

#iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT

#丢弃非法连接

iptables -A INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP

#允许所有已经建立的和相关的连接

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#设定默认规则,数据包的默认处规则

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

###############保存iptables文件,重启服务###############

#保存iptables规则

service iptables save

#重启iptables服务

service iptables restart

###############配置NAT表防火墙###############

#查看NAT表规则

iptables -t nat -L

#清除NAT规则

iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat

#防止外网用内网IP欺骗

# iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP
# iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROP
# iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROP

#禁止与某个IP的所有连接

# iptables -t nat -A PREROUTING -d 192.168.10.1 -j DROP

#禁用80端口

# iptables -t nat -A PREROUTING -p tcp --dport 80 -j DROP

#禁用某个IP的80端口

#iptables -t nat -A PREROUTING -p tcp --dport 21 -d 192.168.10.1 -j DROP

原文地址:https://www.cnblogs.com/benjamin77/p/8630657.html

时间: 2024-10-15 02:34:21

centos6版本iptables常用设置的相关文章

防火墙IPTABLES常用设置

一.SNAT 例如: 1.vim /etc/sysctl.conf ... net.ipv4.ip_forward = 1 ... 执行sysctl -p 2.iptables的设置 iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.1.1 二.DNAT 例如: iptables -t nat -A PREROUTING -d 192.168.1.1 -p tcp --dport 80 -j DNAT --to-

ideaIU-2018.2.2 版本常用设置

本文的一些idea常用设置都是基于ideaIU-2018.2.2版本,一些低版本设置会有所不同,如若不行,请参考其他博文版本设置. 1.设置代码提示或自动补全快捷键 修改方法如下: 点击 文件菜单(File) –> 点击 设置(Settings- Ctrl+Alt+S), –> 打开设置对话框. 在左侧的导航框中点击 KeyMap. 接着在右边的树型框中选择 Main menu –> Code –> Completion. 接着需要做两件事: a. 移除原来的Cycle Expan

25个iptables常用示例

25个iptables常用示例 本文将给出25个iptables常用规则示例,这些例子为您提供了些基本的模板,您可以根据特定需求对其进行修改调整以达到期望.  格式 iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型] 参数 -P 设置默认策略:iptables -P INPUT (DROP|ACCEPT) -F 清空规则链 -L 查看规则链 -A 在规则链的末尾加入新规则 -I num 在规则链的头部加入新规则 -D num 删除某一条规则 -s 匹配来源地址IP/M

Android Studio中常用设置与快捷键

常用设置: 1.Tab不用4个空格Code Style->Java->Tabs and Indents->Use tab characterCode Style->General->Use tab character (例如:版本控制Diff界面按下Tab) 2.可视化Tab和空格Settings->IDE Settings->Editor->Appearance->Show whitespaces 3.显示代码行数Settings->IDE S

Android Studio中常用设置与快捷键(私人珍藏,Eclipse转AS必看)

常用设置: 1.Tab不用4个空格 Code Style->Java->Tabs and Indents->Use tab character Code Style->General->Use tab character               (例如:版本控制Diff界面按下Tab) 2.可视化Tab和空格 Settings->IDE Settings->Editor->Appearance->Show whitespaces 3.显示代码行数

IntelliJ IDEA 常用设置

说明 IntelliJ IDEA 有很多人性化的设置我们必须单独拿出来讲解,也因为这些人性化的设置让我们这些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它. 常用设置 1.代码提示不区分大小写 IntelliJ IDEA 的代码提示和补充功能有一个特性:区分大小写.默认就是 First letter 区分大小写的. 区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 stringBuffer IntelliJ IDEA 是不会帮我们提示或是代码补充的,但是如果我们输入

支持高并发的IIS Web服务器常用设置

转一篇站长大人的文章 适用的IIS版本:IIS 7.0, IIS 7.5, IIS 8.0 适用的Windows版本:Windows Server 2008, Windows Server 2008 R2, Windows Server 2012 1.应用程序池(Application Pool)的设置:  General->Queue Length设置为65535(队列长度所支持的最大值) Process Model->Idle Time-out设置为0(不让应用程序池因为没有请求而回收)

IntelliJ IDEA 常用设置讲解

说明 IntelliJ IDEA 有很多人性化的设置我们必须单独拿出来讲解,也因为这些人性化的设置让我们这些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它. 常用设置 IntelliJ IDEA 的代码提示和补充功能有一个特性:区分大小写.如上图标注 1 所示,默认就是 First letter 区分大小写的. 区分大小写的情况是这样的:比如我们在 Java 代码文件中输入 stringBuffer IntelliJ IDEA 是不会帮我们提示或是代码补充的,但是如果我们输入 S

IntelliJ IDEA 常用设置讲解3

IntelliJ IDEA 有很多人性化的设置我们必须单独拿出来讲解,也因为这些人性化的设置让我们这些 IntelliJ IDEA 死忠粉更加死心塌地使用它和分享它. 常用设置 如上图 Gif 所示,当我们在编辑某个文件的时候,自动定位到当前文件所在的 Project 组件窗口位置. 如上图 Gif 所示,即使我们项目没有使用版本控制功能,IntelliJ IDEA 也给我们提供了本地文件历史记录.除了简单的记录之外,我们还可以给当前版本加标签. 如上图 Gif 所示,我们还可以根据选择的代码,