Debian配置iptables

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Debian配置iptables相关的知识,希望对你有一定的参考价值。

前言

iptables在Linux发行版本如Centos、Debian、Ubuntu、Redhat等的配置内容基本一致,但是配置方式有所不同。由于工作日常用的是Centos 6.x,它的配置较简单。下面对Debian上配置iptables做一个说明。

配置过程

环境要求

一台Debian 6.x/7.x及以上版本的机器
登录用户名/密码

配置步骤

  1. 使用用户名/密码登录系统

[email protected]:~#
  1. 安装iptables

[email protected]:~# apt-get install iptables
  1. 安装成功后查看iptables端口开放情况

[email protected]:~# iptables -LChain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
[email protected]:~#

INPUT、FORWARD和OUTPUT链中均没有内容,说明此时iptables是空的,没有进行任何配置。

  1. 配置iptables
    (1)编辑iptables.test.rules,保存其配置

[email protected]:~# vi /etc/iptables.test.rules//  内容如下# Generated by iptables-save*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-I INPUT -p tcp --dport 8888 -j ACCEPT
-I INPUT -p udp --dport 8888 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT# Completed

上述是一个模板,可以根据需求进行修改。如上开放了tcp22端口,以及8888的tcp和udp端口。
(2)加载iptables.test.rules规则,并查看

[email protected]:/home# iptables-resotre < /etc/[email protected]:/home# iptables -LChain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere             udp dpt:8888ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:8888ACCEPT     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         
[email protected]:/home#

(3)设置开机启动

[email protected]:/home# vi /etc/network/if-pre-up.d/iptables// 内容如下#!/bin/bash/sbin/iptables-restore < /etc/iptables.test.rules
[email protected]:/home# chmod +x /etc/network/if-pre-up.d/iptables

(4)重启查看是否开机加载

[email protected]:/home# [email protected]:~# iptables -L

结束语

按照上述步骤进行配置,可以实现开机加载iptables规则。如果发生问题,多配置几遍就可以。Centos的配置主要在/etc/sysconfig/iptables进行配置,然后使用chkconfig开启开机启动即可。在实际的运维需求中,可以根据应用系统情况,合理的开放端口。

以上是关于Debian配置iptables的主要内容,如果未能解决你的问题,请参考以下文章

转 - Debian系统配置PPTP方法 添加用户和iptables规则

debian6保存iptables规则

python 一个终端代码片段,在mac上生成可启动的usb live CD,以运行类似ubuntu或debian的内容。

树莓派(Debian)系统开启iptables的raw表实现日志输出

二十七Debian 10 iptables(防火墙)

Linux配置防火墙添加端口(Ubuntu/Debian无法使用此方法)