LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2224|回复: 5

Redhat Enterprise 4 (centos4)中怎么用setup命令设置防火墙? 设置成只允许ssh访问

[复制链接]
发表于 2005-8-16 10:09:19 | 显示全部楼层 |阅读模式
还是没有搞懂iptables

;(

我想用iptables做防火墙,我只要达到下面功能:

对外网(internet)只开放22/8080两个端口
对内网192.168.1.0/24,开放22和8080两个端口
对内网192.168.1.14这台机器, 开放samba这个端口和postgreSQL数据库的5432端口.
内网所有机器不能通过这台机器连接外网.

DNS服务器192.168.1.253

再加些简单的防止Dos攻击的功能,流量限制等

搞了半天都没有搞懂
(系统CentOS 4,
网卡 ech0,ech1,其中ech0连接internt,ech1连接内网)
发表于 2005-8-16 20:38:11 | 显示全部楼层
做服务器怎能不学iptables????
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-19 10:59:01 | 显示全部楼层
临时接触这个,边学边搞,问题很多
回复 支持 反对

使用道具 举报

发表于 2005-8-24 18:18:33 | 显示全部楼层
楼主,你的centos做过硬件raid1了吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-8-30 15:49:26 | 显示全部楼层
To rootding,
    没有做过.

------------------------------------写了个简单的,哪位帮我改下? -----------------
#!/bin/bash

echo "starting firewall..."

# iptables command full path
IPT=/sbin/iptables
# the interface that connect Internet
EXTIF="eth0"
# the inside interface
INIF ="eth1"
# this is for NAT's network
INNET="192.168.1.0/24"

# import the current models
PATH=/sbin:/bin:/usr/sbin:/usr/bin
export PATH EXTIF INIF INNET
modprobe ip_tables > /dev/null 2>&1
modprobe iptable_nat > /dev/null 2>&1
modprobe ip_nat_ftp > /dev/null 2>&1
modprobe ip_nat_irc > /dev/null 2>&1
modprobe ip_conntrack > /dev/null 2>&1
modprobe ip_conntrack_ftp > /dev/null 2>&1
modprobe ip_conntrack_irc > /dev/null 2>&1

# clear all of the previous firewall rules
$IPT -F
$IPT -X
# $IPT -Z
$IPT -F -t nat
$IPT -X -t nat
# $IPT -Z -t nat
$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD DROP
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -P POSTROUTING ACCEPT
$IPT -t nat -P OUTPUT ACCEPT

# add new rules
$IPT -A INPUT -i lo -j ACCEPT
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPT -t nat -A POSTROUTING -s $INNET -o $EXTIF -j MASQUERADE

$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
AICMP="0 3 3/4 4 5 8 11 12 13 14 15 16 17 18" # all
for tyicmp in $AICMP
do
$IPT -A INPUT -i $EXTIF -p icmp --icmp-type $tyicmp -j ACCEPT
done

# for internet user
$IPT -A INPUT -p TCP -i $EXTIF --dport 22 -j ACCEPT # SSH
$IPT -A INPUT -p TCP -i $EXTIF --dport 8080 -j ACCEPT # Tomcat
# for LAN user
$IPT -A INPUT -p TCP -i $INIF --dport 22 -s $INNET -j ACCEPT # SSH
$IPT -A INPUT -p TCP -i $INIF --dport 8080 -s $INNET -j ACCEPT # Tomcat
$IPT -A INPUT -p TCP -i $INIF --dport 139 -s 192.168.1.14 -j ACCEPT # Samba
$IPT -A INPUT -p TCP -i $INIF --dport 5432 -s 192.168.1.14 -j ACCEPT # PostgreSQL
------------------------好像还离要求很远..;(
回复 支持 反对

使用道具 举报

发表于 2005-9-2 09:28:09 | 显示全部楼层
本人的经验是把上边的都不要,直接改/etc/sysconfig/iptables然后重启iptables
不行了再改,那里边有已经设置好的22口,照着画个8080就OK,
内网不向外就不用配nat了不就行了
内网和外网配置一样照样画,(注意把内网的信任去掉,就是只有-i eht0 ACCEPT那一行,eth0指你的内网卡,也可能叫别的)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表