默认规则保存在配置文件中/etc/sysconfig/iptableshtml
iptables -F 清空规则 service iptables save 保存当前规则到配置文件里 ###默认规则在 filter 表里 +t 更改指定的表 默认就是filter表 iptables -Z 清空计数器 iptables -A 增长到最后 iptables -I install 插入最前 优先级从前日后 默认就是filter表 iptables -D 删除 iptables -nvL --line-number 序号 iptables -D INPUT 7 根据序号7删除规则 iptables -P 默认的规则 iptables -P OUTPUT DPOR iptables -A INPUT -s 192.168.100.1 -p tcp --sport 80 -d 192.168.100.10 --dport 8080 -j DROP
具体参数linux
·-p:协议(tcp) ·-s:发起源,源IP地址 ·-d:目标地址,目标IP地址 ·- -sport:发起端源端口,指定要匹配的端口 ·- -dport:目标端口,指定匹配目标端口 ·- -dports:端口断 ·-m:原有规则补充(tcp、state、malitiport) iptables -A INPUT -m state - -state RELATED,ESTABLISHED -j ACCEPT
建立一个iptables规则脚本,一次写入bash
`#!/bin/bash` ipt="/usr/sbin/iptables" #必须全局变量 `$ipt -F #清空原规则 `$ipt -Z #清空计数器 `$ipt -X #删除指定的链 `$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.100.0/24 -p tcp - -dport 22 -j ACCEPT `$ipt -A INPUT -p tcp - -dprot 80 -j ACCEPT `$ipt -A INPUT -p tcp - -dprot 21 -j ACCEPT `$ipt -A INPUT -p icmp --icmp-type 8 -j DROP#能够PING外网,不能被别人ping本身 service iptables save #保存策略 实地操做时 发现报错 [root@huidou01 sh]$ /bin/bash iptables.sh iptables: Bad built-in chain name. #坏的链
查了脚本发现 OUTPUT 写错了 ,更改后正确执行 ssh
nat 表应用tcp
/proc/sys/net/ipv4/ip_forward 端口转发默认为0
打开端口转发 echo 1 > /proc/sys/net/ipv4/ip_forward ide
iptables -t nat -A POSTROUTING -s 192.168.50.0/24 -o ens33 -j MASQUERADE
不用指定SNAT的目标ip了,无论如今eth33的出口得到了怎样的动态ip,MASQUERADE会自动读取eth33如今的ip地址而后作SNAT出去,这样就实现了很好的动态SNAT地址转换。ui
mii-tool ens37 命令行检查交换机状态
A1:192.168.100.100
A2:192.168.50.50
B1:192.168.50.100命令行
清空规则从新设定code
iptables -F iptables -t nat -A PREROUTING -d 192.168.100.100 -p tcp - -dport 1122 -j DNAT - -to 192.168.50.100:22 #进去的包
#把进来的包 从目标(-d)IP是192.168.100.100(A1),目标端口(指定的)是1122端口 ,作端口转发到192.168.50.100:22(B1的22端口) 端口上去(端口映射)server
##数据包从公网进来,到个人可连公网的A1机器上去,设置它是TCP协议的数据包,端口映射到A1机器的1122端口,在从1122端上作DNAT转发到个人目标B1地址端口上去。
iptables -t nat -A POSTROUTING -s 192.168.50.100 -j SNAT - -to 192.168.100.100 #回来的包
#回来的包通过A1机器作一个SNAT,把目标地址改为192.168.100.100(源IP)
##从B1机器源IP(-s) SNAT转发出去到我A1机器IP去。实现通信,实际上仍是使用192.168.100.100分配的IP192.168.100.1IP登陆的
3.设置网关 192.168.50.50
扩展