(一) 设置开机启动iptables
# sysv-rc-conf --level 2345 iptables on

(二) iptables的基本命令

1. 列出当前iptables的策略和规则
# iptables -L -n
-n: 用数字形式显示
# iptables -L -v
-v: 打印详细的信息
2. 允许已经建立的连接接收数据
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
3. 开放端口22(SSH的默认端口),您要告诉iptables允许接受到的所有目标端口为22的TCP报文通过
iptables -A INPUT -p tcp -i eth0 --dport ssh -j ACCEPT
注:ssh代表22,可以在/etc/services中查到的服务都可以这样使用。
4. 添加策略。策略也是一种规则,当所有规则都不匹配时,使用链的“策略”
链:INPUT, PREROUTING, FORWARD, POSTROUTING, OUTPUT
链策略的默认值是:ACCEPT。
表:filter (默认),nat,mangle。
#iptables -P INPUT DROP
#iptables -P OUTPUT ACCEPT
#iptables -P FORWARD DROP
----------------------------------------------------
root@patrick:~# iptables -L -n
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22
Chain FORWARD (policy DROP)
target     prot opt source               destination         
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp spt:22
----------------------------------------------------
5. 启动包转发功能
将内网的FTP请求转发到外网的一个主机上。
iptables -t nat -A PREROUTING -p tcp -dport 21 -j DNAT --to-dest 10.25.1.7:21
查看:
# iptables -L -t nat
要实现包转发,还需要编辑内核参数。
# cat /proc/sys/net/ipv4/ip_forward
0
默认包转发是禁止的。于是需要打开。编辑/etc/sysctl.conf,然后执行sysctl -p。
(三)保存iptables的规则
step 1) 保存当前iptables的规则到文件中。
# iptables-save > /etc/iptables.up.rules
step 2) 开机恢复iptables的规则。方法是添加下面这行到文件‘/etc/network/interfaces/’ 的末尾。
pre-up iptables-restore < /etc/iptables.up.rules
(四)禁用防火墙
iptables -F
似乎Ubuntu中没有类似service iptables stop这样的命令来暂停iptables。只能使用这种方法来禁用iptables(防火墙)。
使用前,请保证规则已经备份在文件中。

最新文章

  1. easycwmp的编译
  2. 改centos7的网卡名
  3. Android WebView 向上向下滑动监听
  4. 【Linux工具】GIT+Gollum在Ubuntu下搭建本地WIKI编辑系统
  5. Learn clojure in Y minutes
  6. 《Java程序设计》第3周学习总结
  7. 我对c++对象内存布局的理解
  8. Codeforces294B - Shaass and Bookshelf(贪心)
  9. 接口作为参数,不同的接口调用不同的方法,例如:输出“I love Game”或输出“我喜欢游戏”
  10. [转] 函数编程之闭包漫谈(Closure)
  11. HDU 1979 Red and Black
  12. 【分享】几篇关于Repository 相关的讨论、提问、文章
  13. 解决Spark filter过滤条件中使用&gt;=或&lt;=时不识别的问题
  14. 洛谷P1582 倒水题解
  15. Linux预处理、编译、汇编、链接和运行的过程(包括一些基本的命令)
  16. 详解lastindex,正则test()与全局匹配g偶遇,带来一会true一会false的坑
  17. 排序算法(4)--Selection Sorting--选择排序[1]--Simple Selection Sort--简单(直接)选择排序
  18. ubuntu下设置电脑为WiFi热点
  19. jenkins的docker
  20. 微信小程序开发4-JSON

热门文章

  1. LM358资料及引脚图
  2. grep查看源代码用法
  3. systemtap 用户态调试3
  4. 报错:无法将类型&quot;System.Data.EntityState&quot;隐式转换为&quot;System.Data.Entity.EntityState&quot;
  5. Spring Boot中使用redis的发布/订阅模式
  6. MySQL 5.5版本解决中文乱码问题时my.ini内[mysqld]项中不能再写default-character-set=utf8
  7. 详解Linux中CentOS6.8下解压安装mysql-5.7.14
  8. 安装arcgis10.5不能启动服务的解决方案转
  9. Python3.6学习笔记(三)
  10. Hibernate @Entity注解配置说明