Iptables

Iptables命令管理




 1.显示内核三张表的信息

  iptables -nL     ##默认为filter表


Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)

  iptables -nL -t nat  ##显示nat表


Chain PREROUTING (policy ACCEPT)
Chain INPUT (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
Chain POSTROUTING (policy ACCEPT)

 iptables -nL -t mangle  ##显示mangle表,备用


Chain PREROUTING (policy ACCEPT)
Chain INPUT (policy ACCEPT)
Chain FORWARD (policy ACCEPT)
Chain OUTPUT (policy ACCEPT)
Chain POSTROUTING (policy ACCEPT)

 2.表格命令编辑  ##默认filter表


  iptables -A INPUT -s 172.25.254.100 -j REJECT  ##添加

  iptables -D INPUT 1  ##删除INPUT链的第1条


  iptables -I INPUT -s 172.25.254.100 -j REJECT  ##插入至第1条


  iptables -R INPUT 1 -j ACCEPT   ##将INPUT第1条规则改为ACCEPT


 【iptables -F   ##刷新(类似删除)配置,但是重启后配置依然存在


  systemctl restart iptables.service】

 【iptables -F   ##刷新后保存,重启后配置为空


  service iptables save
  systemctl restart iptables.service】

  iptables -P FORWARD DROP  ##将FORWARD链规则改为DROP


  iptables -N redhat  ##新建redhat自定义链


  iptables -E redhat REDHAt  ##修改自定义链的名称


  iptables -X REDHAt  ##删除自定义链



 3.服务管理

[root@localhost ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT


  ###允许所有主机链接ssh(22)
[root@localhost ~]# iptables -A INPUT -s 172.25.254.8 -p tcp --dport 80 -j ACCEPT
  ###只允许主机8链接http(80)
[root@localhost ~]# iptables -A INPUT ! -s 172.25.254.8 -p tcp --dport 53 -j REJECT
  ###除了主机8都拒链接DNS(53)
[root@localhost ~]# iptables -A INPUT -j REJECT
  ###读取以上规则后,其他所有访问拒绝  (从前到后,逐条读取)
[root@localhost ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22
ACCEPT     tcp  --  172.25.254.8         0.0.0.0/0            tcp dpt:80
REJECT     tcp  -- !172.25.254.8         0.0.0.0/0            tcp dpt:53 reject-with icmp-port-unreachable
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-port-unreachable

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
[root@localhost ~]# service iptables save

iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]


   ##将修改后的配置保存在文件/etc/sysconfig/iptables中

六.Iptables地址转换
  注意:
  1.一定要刷新filter表
  [root@localhost ~]# iptables -F
  2.打开内核路由

  [root@localhost ~]# vim /etc/sysctl.conf


  [root@localhost ~]# sysctl -a | grep ip_forward
   net.ipv4.ip_forward = 0
  [root@localhost ~]# sysctl -p  ##和重启服务效果一样
   net.ipv4.ip_forward = 1
  【[root@localhost ~]# systemctl restart systemd-sysctl.service】

  3.0.208主机配置网络
  IPADDR  = 172.25.0.208
  GATEWAY = 172.25.0.108 (两块网卡主机)
  4.设定策略
[root@localhost ~]# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.25.254.208
[root@localhost ~]# iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-dest 172.25.0.208
[root@localhost ~]# iptables -nL -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       all  --  0.0.0.0/0            0.0.0.0/0            to:172.25.0.208

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       all  --  0.0.0.0/0            0.0.0.0/0            to:172.25.254.208  

 5.当主机8访问链接208主机时,转换到0.208主机上
[kiosk@foundation8 Desktop]$ ssh root@172.25.254.208
root@172.25.254.208's password:
Last login: Tue May  8 20:36:21 2018
[root@108local ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.25.0.208  netmask 255.255.255.0  broadcast 172.25.0.255

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值