编辑/etc/rc.local,加入iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE,外网口eth1为dhcp获得IP。

进入本机的数据包为INPUT,从本机发送出去的数据包为OUTPUT,只是路由的包为FORWARD;防火墙就是基于这3个过滤点来操作的。

对于包的操作有:目标(Target)、丢弃(DROP)、接受(ACCEPT)、弹回(REJECT)、日志(LOG)……等等,比如 iptables -A INPUT -p icmp -j DROP(-A代表添加到的过滤点 -p针对的协议类型;此条命令的作用是禁ping),通常是拒绝所有,再一个一个的打开。

iptables -F 清空所有规则

iptables -A INPUT -p tcp -d 10.0.0.1 –dport 21 -j DROP (本机地址为10.0.0.1,此条规则为拒绝所有发送到本机TCP 21端口的数据包,即关闭FTP服务)

iptables -A INPUT -p tcp -s 10.0.0.1 –dport 21 -j DROP (此条规则为拒绝所有发送至10.0.0.1的TCP 21端口的数据包)

==================================

(本机,即服务器的地址为10.0.0.1)

iptables -A INPUT -p tcp -d 10.0.0.1 –dport 22 -j ACCEPT #允许别人访问22端口

iptables -A OUTPUT -p tcp –sport 22 -m state –state ESTABLISHED -j ACCEPT #和自己建立过22端口连接的包才给与回应,防止病毒利用22端口,不允许本地22端口主动产生包发出去

iptables -A INPUT -p tcp –sport 22 -m state –state ESTABLISHED -j ACCPET #只接收ssh服务回应自己SSH请求的回应包

iptables -P INPUT DROP #丢弃所有的input包

iptables -P OUTPUT DROP #丢弃所有的OUTPUT包

iptables -P FORWARD DROP #丢弃所有的FORWARD包

iptables -L -n #查看所有链路信息,如果再加“–line-numbers”则显示编号

iptables -A INPUT -p tcp -d 10.0.0.1 –dport 80 -j ACCEPT #允许别人访问80端口

iptables -A OUTPUT -p tcp –sport 80 -m state –state ESTABLISHED -j ACCEPT #和自己建立过80端口连接的包才给与回应,防止病毒利用80端口,不允许本地80端口主动产生包发出去

iptables -A OUTPUT -p udp -s 10.0.0.1 –dport 53 -j ACCEPT #允许向DNS服务器发送同步数据包

iptables -A OUTPUT -p udp –sport 53 -j ACCEPT #对于自己53端口发送的请求包通过(自己是DNS服务器时)

iptables -A INPUT-p udp –dport 53 -j ACCEPT #允许别人访问自己的53端口(自己是DNS服务器时)

iptables -A INPUT -p udp –sport 53 -j ACCEPT #允许接收DNS服务器的返回包

iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许自己通过环回口访问自己的所有服务

iptables -A OUTPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许自己通过环回口访问自己的所有服务

iptables -I INPUT 1 -p tcp –dport 22 -j LOG –log-level 5 –log-prefix
“iptables:”
#为22端口的INPUT包增加日志功能,插在input的第1个规则前面,一定要保证在提交到日志之前,没有相同接收或者丢弃包

vi /etc/syslog.conf #编辑日志配置文件,添加kern.=notice   /var/log/firewall.log(log-level 5为notice,详情man syslog)

service syslog restart #重启日志服务

tail /var/log/firewall.log -f #查看日志

iptables -A FORWARD -s 10.0.0.0/24 -j ACCEPT #从局域网发给互联网的包全部转发

iptables -A FORWARD -d 10.0.0.0/24 -j ACCEPT #从互联网发送给局域网的包全部转发

还需要打开/proc/sys/net/ipv4/ip_forward 让里面的值变为1(默认值是0),打开转发,此方法是临时生效

vi /ect/sysctl.conf #打开系统配置文件,编辑net.ipv4.ip_forward = 1,此方法是永久生效

iptables -t nat -L -n #查看iptables的nat表

service iptables save #永久性的保存规则,等同于iptables-save > /etc/sysconfig/iptables


来源:http://www.ha97.com/3930.html

Linux的iptables常用配置范例(3)的更多相关文章

  1. Linux的iptables常用配置范例(1)

    以下是来自 http://wiki.ubuntu.org.cn/IptablesHowTo 上的配置说明 可以通过/sbin/iptables -F清除所有规则来暂时停止防火墙: (警告:这只适合在没 ...

  2. Linux的iptables常用配置范例(2)

    iptables -F   #清除所有规则 iptables -X  #清除所有自定义规则 iptables -Z   #各项计数归零 iptables -P INPUT DROP  #将input链 ...

  3. Linux防火墙--IPtables企业级配置策略思路

    一.防火墙简介 防火墙定义:是通过有机结合各类用于安全管理与筛选的软件和硬件设备,帮助计算机网络于其内.外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性的一种技术. 防火墙发展应用:最早 ...

  4. Linux下iptables安全配置

    Linux下配置IPTables,只开放特定端口,禁用其他网络. *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] ...

  5. Linux防火墙iptables安装配置--使用远程工具Xmanager和ftp服务安装配置

    一.linux关闭防火墙:    a.用户直接在终端输入:service iptables stop     查看防火墙状况:service iptables status  b.root用户在终端输 ...

  6. 高性能计算linux集群常用配置

    1.检查超线程 查看线程数:grep siblings /proc/cpuinfo |uniq 查看物理核心数:grep cores /proc/cpuinfo |uniq 2.检查操作系统版本 ca ...

  7. iptables常用配置

    常用的iptables模板 #!/bin/sh iptables -F iptables -X iptables -F -t mangle iptables -t mangle -X iptables ...

  8. linux之iptables常用命令

    iptables详解 iptables -L 该命令会以列表的形式显示出当前使用的 iptables 规则,每一条规则前面的编号可以用来做为其它操作--例如删除操作--的参数,很有用 iptables ...

  9. linux 下 etc常用配置信息

    这些都是比较有实用性的系统配置,收藏下,以备不时之需!以下是etc下重要配置文件解释: 1./etc/hosts  #文件格式: IPaddress hostname aliases #文件功能: 提 ...

随机推荐

  1. Ansible7:Playbook常用模块【转】

    playbook的模块与在ansible命令行下使用的模块有一些不同.这主要是因为在playbook中会使用到一些facts变量和一些通过setup模块从远程主机上获取到的变量.有些模块没法在命令行下 ...

  2. XStream的使用方法、简单使用方法、xml的解析方法

    下面介绍的是在Android Studio中的使用 Android Studio中目前支持的Xstream最高版本是xstream-1.4.7.jar,大家可以在网上下载,我的是在开源中国项目中有这个 ...

  3. php.ini与php-fpm.conf配置文件的区别

    php-fpm.conf是PHP-FPM特有的配置文件 php.ini是所以php模式中必须的配置文件 两者的区别是,php-fpm.conf是PHP-FPM进程管理器的配置文件,php.ini是PH ...

  4. ActiveMQ-CPP编译

    1.activemq-cpp下载地址: http://activemq.apache.org/cms/download.html 2.相关依赖库 http://mirrors.hust.edu.cn/ ...

  5. 为什么要 urlencode()

    1.是因为当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符的2. 因为 url 对字符有限制,比如把一个邮箱放入 url,就需要使用 urlencode 函数,因为 ...

  6. Bill Total Value

    Bill Total Value time limit per test 1 second memory limit per test 256 megabytes input standard inp ...

  7. hdu1950 Bridging signals 最长递增子序列

    用一个数组记下递增子序列长度为i时最小的len[i],不断更新len数组,最大的i即为最长递增子序列的长度 #include<cstdio> #include<algorithm&g ...

  8. nagios总结二

    log_file=/usr/local/nagios/var/nagios.log                  # 定义nagios日志文件的路径cfg_file=/usr/local/nagi ...

  9. VideoView的视频播放

    //-------------onCreate方法中----------------------- VideoView video_view = (VideoView) findViewById(R. ...

  10. 仿照微信的界面,即ViewPager+Fragment的结合使用

    主布局文件: android:drawableTop="@drawable/weixin_bg"用的是状态选择器,所以要写4个状态选择器,图片的 <RelativeLayou ...