博文

目前显示的是标签为“iptables”的博文

iptables配置文件的格式语法

#头两行是注释说明 # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended.   #使用filter表 *filter   #下面四条内容定义了内建的INPUT、FORWAARD、ACCEPT链,还创建了一个被称为RH-Firewall-1-INPUT 的新链 :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT – [0:0]   #将所有流入的数据写入到日志文件中 -A INPUT -j LOG –log-level crit   #下面这条规则将添加到INPUT链上,所有发往INPUT链上的数据包将跳转到RH-Firewall-1 //链上。 -A INPUT -j RH-Firewall-1-INPUT   #下面这条规则将添加到FORWARD链上,所有发往INPUT链上的数据包将跳转到RH-Firewall-1 //链上。 -A FORWARD -j RH-Firewall-1-INPUT   #下面这条规则将被添加到RH-Firewall-1-input链。它可以匹配所有的数据包,其中流入接口(-i)//是一个环路接口(lo)。 #匹配这条规则的数据包将全部通过(ACCEPT),不会再使用别的规则来和它们进行比较 -A RH-Firewall-1-INPUT -i lo -j ACCEPT   #下面这条规则是拒绝所有的icmp包-p 后是协议如:icmp、tcp、udp。端口是在-p后面–sport源端口,–dport目的端口。-j 指定数据包发送的 #目的地址如:ACCEPT、DROP、QUEUE等等 -A RH-Firewall-1-INPUT -p icmp –icmp-type any -j DROP -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p...

Linux Iptables Firewall Shell Script For Standalone Server

#!/bin/bash # A Linux Shell Script with common rules for IPTABLES Firewall. # By default this script only open port 80, 22, 53 (input) # All outgoing traffic is allowed (default – output) # ————————————————————————- # Copyright (c) 2004 nixCraft project <http://cyberciti.biz/fb/> # This script is licensed under GNU GPL version 2.0 or above # ————————————————————————- # This script is part of nixCraft shell script collection (NSSC) # Visit http://bash.cyberciti.biz/ for more information. # ————————————————————————-   IPT=”/sbin/iptables...

CentOS / Redhat Iptables Firewall Configuration Tutorial

#!/bin/bash # A sample firewall shell script IPT=”/sbin/iptables” SPAMLIST=”blockedip” SPAMDROPMSG=”BLOCKED IP DROP” SYSCTL=”/sbin/sysctl” BLOCKEDIPS=”/root/scripts/blocked.ips.txt”   # Stop certain attacks echo “Setting sysctl IPv4 settings…” $SYSCTL net.ipv4.ip_forward=0 $SYSCTL net.ipv4.conf.all.send_redirects=0 $SYSCTL net.ipv4.conf.default.send_redirects=0 $SYSCTL net.ipv4.conf.all.accept_source_route=0 $SYSCTL net.ipv4.conf.all.accept_redirects=0 $SYSCTL net.ipv4.conf.all.secure_redirects=0 $SYSCTL net.ipv4.conf.all.log_martians=1 $SYSCTL net.ipv4.conf.default.accept_source_route=0 $SYSCTL net.ipv4.conf.default.accept_redirects=0 $SYSCTL net.ipv4.conf.default.secure_redirects=0 $SYSCTL net.ipv4.icmp_echo_ignore_broadcasts=1 #$SYSCTL net.ipv4.icmp_ignore_bogus_error_messages=1 $SYSCTL net.ipv4.tcp_syncookies=1 $SYSCTL net.ipv4.conf.all.rp_filter=1 $SYSCTL net.ipv4.conf.default.rp_filter=1 $SYSCTL kernel.exec-shield=1 $SYSCTL kernel.randomize_va_space=1   echo “Starting IP...

利用iptables来配置linux禁止所有端口登陆和开放指定端口

1、关闭所有的 INPUT FORWARD OUTPUT 只对某些端口开放。 下面是命令实现:   iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP   再用命令 iptables -L -n 查看 是否设置好, 好看到全部 DROP 了 这样的设置好了,我们只是临时的, 重启服务器还是会恢复原来没有设置的状态 还要使用 service iptables save 进行保存 看到信息 firewall rules 防火墙的规则 其实就是保存在 /etc/sysconfig/iptables 可以打开文件查看 vi /etc/sysconfig/iptables 2、 下面我只打开22端口,看我是如何操作的,就是下面2个语句   iptables -A INPUT -p tcp –dport 22 -j ACCEPT iptables -A OUTPUT -p tcp –sport 22 -j ACCEPT   再查看下 iptables -L -n 是否添加上去, 看到添加了   Chain INPUT (policy DROP) target prot opt source destination ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 tcp dpt:22   Chain FORWARD (policy DROP) target prot opt source destination   Chain OUTPUT (policy DROP) target prot opt source destination ACCEPT tcp — 0.0.0.0/0 0.0.0.0/0 tcp spt:22   现在Linux服务器只打开了22端口,用putty.exe测试一下是否可以链接上去。 可以链接上去了,说明没有问题。   最后别忘记了保存 对防火墙的设置 通过命令:service iptables save 进行保存   iptables -A INPUT -p tcp –dport 22 -j ACCEPT iptables -A OUTPUT -...

转发一篇写得不错的关于iptables的文章

图片
iptables是一个Linux下优秀的nat+防火墙工具,我使用该工具以较低配置的传统pc配置了一个灵活强劲的防火墙+nat系统,小有心得,看了网上也有很多这方面的文章,但是似乎要么说的比较少,要么就是比较偏,内容不全,容易误导,我研究了一段时间的iptables同时也用了很久,有点滴经验,写来供大家参考,同时也备日后自己翻阅。 首先要说明的是,iptables操作的是2.4以上内核的netfilter.所以需要linux的内核在2.4以上。其功能与安全性远远比其前辈 ipfwadm,ipchains强大,iptables大致是工作在OSI七层的二、三、四层,其前辈ipchains不能单独实现对tcp/udp port以及对mac地址的的定义与操作,所以我想ipchains应该是仅仅工作在三层上的。   我们先简单介绍一下netfilter的大致工作流程,也就是一个数据包(或者叫分组、packet,我个人习惯叫包)在到达linux的网络接口的时候(网卡)如何处理这个包,然后再介绍一下如何用iptables改变或者说控制对这个数据包进行操作。netfilter内部分为三个表,分别是 filter,nat,mangle,每个表又有不同的操作链(Chains)。在filter(过滤)表中,也就是他的防火墙功能的这个表,定义了三个 Chain。分别是INPUT,FORWARD,OUTPUT。也就是对包的入、转发、出进行定义的三个过滤链。对于这个filter表的操作和控制也是我们实现防火墙功能的一个重要手段;在nat(Network Address Translation、网络地址翻译)表中,也就是我们用以实现地址转换和端口转发功能的这个表,定义了PREROUTING, POSTROUTING,OUTPUT三个链,下面我们会对这三个链作详细的说明;而netfilter的mangle表则是一个自定义表,里面包括上面的filter以及nat表中的各种chains,它可以让我们进行一些自定义的操作,同时这个mangle表中的chains在netfilter对包的处理流程中处在一个比较优先的位置,下面有一张图清晰的描绘了netfilter对包的处理流程(该图摘自网上,不知作者是谁,在此深表敬意!),一般情况下,我们用不到这个mangle表,在这里我们就不做介绍了。 大家可以...