标签:commit 参数 cookie ref routing sbin 防火墙规则 响应 post
SNAT策略的典型应用环境实现方法
编写SNAT转换规则
[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 218.29.30.31
POSTRIYTING;路由选择后再处理
192.168.1.0/24;局域网短地址
193.eth0;外网接口名称
194.218.29.30.31;外网接口IP
实现方法
编写DNAT转换规则
[root@localhost ~]# iptables -t nat -A PREROUTING -i eth0 -d 218.29.30.31
-p tcp --dport 80 -j DNAT --to-destination 192.168.1.6
PRETOUTING;路由选择之前处理
218.29.30.31;外网接口IP地址
80;发布服务器端口
192.168.1.6;web主机内网IP地址
发布时修改目标端口
在DNAT规则中以“IP:Port”的形式指定目标地址
[root@localhost ~]# iptables -t nat -A PREROUTING -i eth0 -d 218.29.30.31
-p tcp --dport 2346 -j DNAT --to-destination 192.168.1.6:22
2346;访问的目的端口
:22;实际提供服务的端口
-
导出(备份)规则
iptables-save工具
[root@localhost ~]# iptables-save
Generated by iptables-save v1.4.7 on Wed Sep 24 08:25:33 2014
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [54:7037]
-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 on Wed Sep 24 08:25:33 2014
[root@localhost ~]# iptables-save > /opt/iprules_all.txt
[root@localhost ~]# iptables-restore < /opt/iprules_all.txt
iptables服务
脚本位置:/etc/init.d/iptables
规则文件位置:/etc/sysconfig/iptables
[root@localhost ~]# service iptables start
iptables:应用防火墙规则: [确定]
[root@localhost ~]# service iptables stop
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
[root@localhost ~]# service iptables status
iptables:未运行防火墙
——
1.定义基本变量
便于脚本的维护、重用
#!/bin/bash
INET_IF= "eth0"
INET_IP="218.29.30.31"
LAN_IF="eth1"
LAN_IP= "192.168.1.1"
LAN_NET="192.168.1.0/24"
LAN_WWW_IP="192.168.1.6"
IPT="/sbin/iptables"
MOD="/sbin/modprobe"
CTL="/sbin/sysctl“
……
2.加载必要的内核模块
将频繁用到的模块载入内核
……
$MOD ip_tables
$MOD ip_conntrack
$MOD ipt_REJECT
$MOD ipt_LOG
$MOD ipt_iprange
$MOD xt_tcpudp
$MOD xt_state
$MOD xt_multiport
$MOD xt_mac
$MOD ip_nat_ftp
$MOD ip_conntrack_ftp
……
3.调整/proc参数
Linux内核控制及调优
$CTL -w net.ipv4.ip_forward=1
$CTL -w net.ipv4.ip_default_ttl=128
$CTL -w net.ipv4.icmp_echo_ignore_all=1
$CTL -w net.ipv4.icmp_echo_ignore_broadcasts
$CTL -w net.ipv4.tcp_syncookies=1
$CTL -w net.ipv4.tcp_syn_retries=3
$CTL -w net.ipv4.tcp_synack_retries=3
$CTL -w net.ipv4.tcp_fin_timeout=60
$CTL -w net.ipv4.tcp_max_syn_backlog=3200
优化TCP响应能力
4. 具体的防火墙规则
按表、链分别设置规则,包括默认策略
……
$IPT -t filter -X
$IPT -t nat -X
$IPT -t filter -F
$IPT -t nat -F
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT
$IPT -t nat -A POSTROUTING -s $LAN_NET -o $INET_IF -j SNAT --to-source $INET_IP
$IPT -t nat -A PREROUTING -i $INET_IF -d $INET_IP -p tcp --dport 80 -j DNAT --to-destination $LAN_WWW_IP
-t 清空原有规则
-P 设置默认策略
-t nat 其他具体规则
-
“主机型”防火墙脚本
针对本机进行保护
filter表中的INPUT、OUTPUT链
[root@localhost ~]# vi /opt/myipfw.hostonly
#!/bin/bash
1. 定义基本变量
IPT= "/sbin/iptables"
……
2 定义默认策略
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT
3 设置filter表中的各种规则
$IPT -A INPUT -p tcp --dport 80 -j ACCEPT
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
标签:commit 参数 cookie ref routing sbin 防火墙规则 响应 post
原文地址:http://blog.51cto.com/13555423/2062704