iptables filter表案例tcp
iptables nat表应用ip
---路由
iptables filter表案例编译
需求: 把80端口, 21端口,22端口放行。22端口指定一个ip段table
ipt="/usr/sbin/iptables" 登录
定义一个变量 ,尽可能写绝对路径变量
$ipt -F 把以前的规则清空配置
$ipt -P INPUT DROPiptables
$ipt -p OUTPUT ACCEPT路由器
$ipt -p FORWARD ACCEPT
$ipt -A INPUT -m state --state RELATED, ESTABLISHED -j ACCEPT
用 -m state指定状态(RELATED编译源的状态),加这条命令是为了让通信更加顺畅。
$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
iptables nat表应用
---
禁掉Nat
给37的网卡设定ip
(这样设置一重启就没有了,想要永久生效,须要编辑配置文件。
ens33 已经不生效了,为了保险,能够再次ifdown 掉它
设置ip
能够ping通
----
A机器上打开路由转发: echo "1">/proc/sys/net/ipv4/ip_forward
增长一条规则:
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
B机器设置网关 192.168.100.1
可以和公网通信了:
修改DNS
---
其实A机器就至关于路由器, B机器就至关于联网的手机 电脑
---
远程登陆,端口映射 把100.100的22端口映射出来
第1步:打开端口转发 echo "1">/proc/sys/net/ipv4/ip_forward
第2步: 增长iptables 规则:
先把以前的规则删掉,以避免影响
iptables -t nat -D POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
iptables -t nat -nvL
进去的包:
iptables -t nat -A PREROUTING -d 192.168.58.129 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22
回来的包:
iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.58.129
第3步:给B机器加上网关
---
OK