默認規則保存在配置文件中/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
擴展