1.iptables的基本用法
-t ##指定表名称
-n ##不作解析
-L ##列出指定表中的策略
-A ##增加策略
-p ##网络协议
–dport ##端口
-s ##数据来源
-j ##动作
ACCEPT ##允许
REJECT ##拒绝
DROP ##丢弃
-N ##增加链
-E ##修改链名称
-X ##删除链
-D ##删除指定策略
-I ##插入
-R ##修改策略
-P ##修改默认策略
yum install iptables-server -y ##安装iptables服务
systemctl stop firewalld ##关闭火墙
systemctl disable firewalld ##开机不启动火墙
systemctl mask firewalld ##将火墙锁住
systemctl start iptables.service ##开启iptables服务
systemctl enable iptables.service ####开机启动iptables服务
iptables -L ##查看iptables策略,并且做解析
iptables -nL ##查看iptables策略,并且不做解析
iptables -t filter -nL #查看filter表中的策略
iptables -t nat -nL #查看nat表中的策略
iptables -t nat -F ##清空nat表的规则链
iptables -t filter -F ##清空filter表的规则链
iptables -F #刷掉filter表中的所有策略,当没有用-t指定表名称时默认时filter
service iptables save #保存当前策略,重启iptables策略仍有效
iptables -nL
iptables -P INPUT DROP|ACCEPT ##设定默认门的状态(开/关)
-P ##设定默认策略
iptables -P INPUT DROP ##设定默认门是关着的,拒绝一切访问
iptables -P INPUT ACCEPT ##设定默认门是开着的
-A ##在当前链的最后新增一条规则
iptables -A INPUT -i lo -j ACCEPT ##添加策略,允许所有的接口
iptables -A INPUT -j REJECT ##添加策略,拒绝所有的连接
-I ##把当前规则插入为第几行
iptables -I INPUT 2 -s 172.25.254.6 -p tcp –dport 22 -j ACCEPT
-D ##删除,明确指出删除第几行规则
iptables -D INPUT 2 ##删除INPUT链中的第二条策略
-R ##替换第几行的规则
iptables -R INPUT 1 -s 172.25.254.6 -p tcp –dport 22 -j ACCEPT
-N ##新建一个链
iptables -N WESTOS
-E ##给用户自定义的链重命名
iptables -E WESTOS HHHH
-X ##删除用户自定义的链
iptables -X HHHH
iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state –state NEW -i lo -j ACCEPT iptables -A INPUT -m state –state NEW -p tcp –dport 22 -j ACCEPT
iptables -A INPUT -m state –state NEW -p tcp –dport 80 -j ACCEPT
iptables -A INPUT -m state –state NEW -p tcp –dport 443 -j ACCEPT
iptables -A INPUT -m state –state NEW -p tcp –dport 20 -j ACCEPT
iptables -A INPUT -m state –state NEW -p tcp –dport 21 -j ACCEPT
iptables -A INPUT -i lo -j REJECT
iptables -nL
service iptables save
2.源地址和目的地地址的转换
服务端
添加两块网卡,一块网卡的IP设定为公有网段172.25.254.106,另一块网卡的IP设定为私有网段的IP172.25.0.106
客户端
IP设定为私有网段的IP172.25.0.206,网关设定为服务端主机的私有网络的IP172.25.0.106
服务端
iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to-source 172.25.254.106 ##源地址转换
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
在客户端测试
ping 172.25.254.6
ssh root@172.25.254.6
服务端
iptables -t nat -A PREROUTING -i eth0 -j DNAT –to-dest 172.25.0.206 ##目的地转换
在客户端测试
ssh root@172.25.254.6