iptables nat表应用

10.15 iptables filter表小案例

vi /usr/local/sbin/iptables.sh //加入以下内容
#! /bin/bash
ipt="/usr/sbin/iptables"
$ipt -F
$ipt -P INPUT DROP
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT	
$ipt -A INPUT -s 192.168.133.0/24 -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT

//指定IP段,只有这个IP段的IP访问才能够访问到,其余的拒绝html

icmp示例
 iptables -I INPUT -p icmp --icmp-type 8 -j DROP

10.16/10.17/10.18 iptables nat表应用

nat表应用

环境
A机器两块网卡ens33(192.168.133.130)/ens37(192.168.100.1),ens33能够上外网,ens37仅仅是内部网络,B机器只有ens37(192.168.100.100),和A机器ens37能够通讯互联。linux


需求1:可让B机器链接外网bash


虚拟机上进行设置,A机器添加两块网卡,B机器添加一块网卡  
ipconfig ens37 192.168.100.1/24 直接手动经过命令行设置一个IP,临时修改IP
  1. A机器上打开路由转发 # echo "1" >/proc/sys/net/ipv4/ip_forward 须要打开端口转发,须要修改内核参数
  2. A上执行# iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE添加规则,让100.0进行上网
  3. B上设置网关为192.168.100.1# route add default gw 192.168.100.1

需求2:C机器只能和A通讯,让C机器能够直接连通B机器的22端口网络


让B机器的22端口映射到A机器的其余端口
  1. A上打开路由转发# echo "1" >/proc/sys/net/ipv4/ip_forward 须要打开端口转发,须要修改内核参数
  2. A上执行# iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22C机器访问A机器的1122端口时,转发到B机器
  3. A上执行# iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130POSTROUTING链中,将源地址133.130转换为100.100,返回到C机器
  4. B上设置网关为192.168.100.1

扩展

  1. iptables应用在一个网段 http://www.aminglinux.com/bbs/thread-177-1-1.html
  2. sant,dnat,masqueradehttp://www.aminglinux.com/bbs/thread-7255-1-1.html
  3. iptables限制syn速率http://www.aminglinux.com/bbs/thread-985-1-1.html http://jamyy.us.to/blog/2006/03/206.html
相关文章
相关标签/搜索