######################
######iptable#########
######################
##iptables是一个工作于用户空间的防火墙应用软件
######三表五链######
filter表 mangle表 nat表
INPUT链 OUTPUT链 FORWARD链 PREROUTING链 POSTROUTING链
1.实验之前关闭firewalld服务,开启iptables
iptables -t ##指定表名称
-n ##不作解释
-L ##列出指定表中的策略
-A ##增加策略
-p ##网络协议
--dport ##端口
-s ##数据来源
-j ##动作
ACCEPT ##允许
REJECT ##拒绝
-N ##增加链
-E ##修改链名称
-X ##删除链
-D ##删除指定策略
-I ##插入
-R ##修改策略
-P ##修改默认策略
iptables -t filter -nL ##查看filter表中的策略
iptables -F ##刷掉filter表中的所有策略,当没有用-t指定表名称时默认filter
service iptables save ##保存当前策略
iptables -A INPUT -i lo -j ACCEPT ##允许lo
iptables -A INPUT -p tcp --dport 22 -j ACCEPT ##允许访问22端口
iptables -A INPUT -s 172.25.254.36 -j ACCEPT ##允许36主机访问本机所有端口
iptables -A INPUT -j REJECT ##拒绝所有主机的数据来源
测试:62主机访问22端口和Apache
iptables -N redhat ##增加链redhat
iptables -E redhat westos ##改变链名称
iptables -X westos ##删除链westos
iptables -D INPUT 2 ##删除INPUT链中的第二条策略
iptables -I INPUT -p tcp --dport 80 -jREJECT ##插入策略到INPUT链中的第一条
iptables -R INPUT 1 -p tcp --dport 80 -j ACCEPT ##修改第一条策略
iptables -P INPUT DROP ##把INPUT链中的默认策略改为drop
3. 提高访问速度,缓解访问压力方法iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT ##以前访问过的和正在访问的允许
iptables -A INPUT -i lo -m state --state NEW -j ACCEPT ##第一次访问lo状态为new执行这个策略,以后执行第一条策略
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT ##允许状态是NEW访问22端口
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT ##允许访状态是NEW问80端口
iptables -A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT ##允许状态是NEW访问443端口
iptables -A INPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT ##允许状态是NEW访问53端口
iptables -A INPUT -j REJECT ##拒绝所有主机数据来源
iptables-save ##保存
iptables-save > /etc/sysconfig/iptables ##保存到/etc/sysconfig/iptables
4.路由
sysctl -a | grep forward ##查看forward状态
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf ##开启路由
sysctl -p ##生效
iptables -t nat -A PREROUTING -i eth1 -jDNAT --to-dest 172.25.36.11 ##进入路由
测试:用172.25.254.62主机访问172.25.62.11
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 172.25.254.136 ##出路由设置
测试:用172.25.254.62主机访问172.25.254.162 , ip为172.25.62.11
测试:
[root@server36 ~]# ping 172.25.36.10
[root@server36 ~]# ping 172.25.254.36
本文转自cuijb0221 51CTO博客,原文链接:http://blog.51cto.com/cuijb/1930789