3-unit10 iptables

简介:

######################
######iptable#########
######################

##iptables是一个工作于用户空间的防火墙应用软件

 ######三表五链######

 filter表  mangle表  nat表

 INPUT链  OUTPUT链  FORWARD链  PREROUTING链  POSTROUTING链

 

  1.实验之前关闭firewalld服务,开启iptables

wKioL1ktWtfzXCOjAAEVYBzAW6Q870.png2.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

wKioL1ktXK2gH6rpAAGNRM_25I8430.png
service iptables save       ##保存当前策略

wKiom1ktXK3hEQLfAACJWhKpV_k777.png

wKioL1ktXK7xd2sgAAEm24ypXWk932.png
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         ##拒绝所有主机的数据来源

wKiom1ktXK6zMHYWAAHzy5EKv5U676.png

测试:62主机访问22端口和Apache

wKioL1ktXLGRfdFCAAFndBC2Sv8549.png
iptables -N redhat              ##增加链redhat
iptables -E redhat westos           ##改变链名称
iptables -X westos              ##删除链westos

wKioL1ktXK-h0VgwAAEluyQaiiw089.png

wKiom1ktXLDQGyNYAAESpGU0gRg997.png

wKiom1ktXLDi867GAAEhfnE0j-k100.png



iptables -D INPUT 2             ##删除INPUT链中的第二条策略

wKiom1ktXLLTvu6VAAJGwYXVKU4550.png


iptables -I INPUT  -p tcp --dport 80 -jREJECT  ##插入策略到INPUT链中的第一条

wKioL1ktXLOQz1stAALBMPE4zWo575.png


iptables -R INPUT 1 -p tcp --dport 80 -j ACCEPT ##修改第一条策略

wKiom1ktXLTAzNL8AAH2h5ghdRg163.png


iptables -P INPUT DROP              ##把INPUT链中的默认策略改为drop

wKioL1ktXLTQWiHPAABrjsDE8Gw995.png


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        ##拒绝所有主机数据来源

wKiom1ktXLWhJoCFAAMVQsmDAaI245.png


iptables-save   ##保存
iptables-save > /etc/sysconfig/iptables     ##保存到/etc/sysconfig/iptables
wKioL1ktXLbzVBI2AAHCwleysgM155.png
wKiom1ktXLbi6Z2aAAI-I2tnrpM503.png


4.路由

sysctl -a | grep forward    ##查看forward状态

wKiom1ktXLrhWN-1AAJIh515mYo128.png


echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf   ##开启路由
sysctl -p       ##生效
wKioL1ktXLqBicn3AAGM4TBe2c4746.png

iptables -t nat -A PREROUTING  -i eth1 -jDNAT --to-dest 172.25.36.11        ##进入路由

wKioL1kuE5zREbSyAAF-zA_lnq4158.png


测试:用172.25.254.62主机访问172.25.62.11

wKiom1kuE5uS8gKXAAFrON9oCc8667.png

iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 172.25.254.136        ##出路由设置
wKioL1kuE53xJzaRAAGxYsgsFZs771.png


测试:用172.25.254.62主机访问172.25.254.162 , ip为172.25.62.11

wKiom1kuE5zTHqGtAAHgWdDKHNs647.png


测试:
[root@server36 ~]# ping 172.25.36.10
[root@server36 ~]# ping 172.25.254.36

wKioL1ktXL2zezZMAASnc_S-mMA986.png



本文转自cuijb0221 51CTO博客,原文链接:http://blog.51cto.com/cuijb/1930789


相关文章
|
网络协议 Linux 网络安全
【Linux环境】centos7 Failed to start iptables.service: Unit not found 防火墙
【Linux环境】centos7 Failed to start iptables.service: Unit not found 防火墙
492 0
|
网络协议 Linux 网络安全
CentOS 7 :Failed to start IPv4 firewall with iptables.
CentOS 7 :Failed to start IPv4 firewall with iptables.
236 0
|
网络协议 Linux 网络安全
CentOS 7.2:Failed to start IPv4 firewall with iptables
CentOS 7.2:Failed to start IPv4 firewall with iptables
1050 0
|
关系型数据库 Linux Windows
|
存储 Unix Linux
|
网络协议 网络安全 开发工具