ubuntu ufw nat 内网代理上网
为什么使用ubuntu ufw nat
很多原因吧,其中之一是因为isa(tmg)在server2008以上不好科学使用
系统换Linux Ubuntu
开源,免费,安装简单,自带ufw(iptables的简化版,晚于iptables级别)。
比如:
ufw enable // 启用防火墙
ufw disable // 禁用防火墙
ufw reload //重新加载防火墙
ufw status // 显示防火墙状态
ufw status verbose // 查看防火墙详细状态
ufw default deny //设置默认 input 流量为拒绝
注意,如果你是通过 ssh 连接到服务器,那么你应该先添加规则
ufw allow 22
//允许任何人通过端口22连入本机(包括 UDP 和 TCP)
ufw allow ssh
//用协议名字方式来添加条目,跟上一句功能相同
ufw deny 53/tcp
//阻止任何人通过53端口用TCP 连入本机
但是实际ufw不能做代理上网,也就是nat它并不支持,但是有iptables啊
所以
添加更复杂的控制语句做代理
/etc/ufw/before.rules
//在 ufw 的所有条目之前生效
/etc/ufw/after.rules
//在 ufw 的所有条目之后生效
修改 /etc/ufw/before.rules
COMMIT
*nat
:PREROUTING - [0:0]
:POSTROUTING - [0:0]
-A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-destination 192.168.18.1:22
-A POSTROUTING -s 192.168.18.0/24 -o eth0 -j MASQUERADE
COMMIT
其中 eth0 外网连接网卡名称(有两行使用到),可以通过ifconfig查到
192.168.18.1 为内网网关地址,也是服务器第二块网卡ip地址
192.168.18.0/24 为网段标记,要和上一行对应
其它默认即可,这是最简单省事的方式
格式上注意一定要顶格写,或者复制即可
然后,执行 ufw reload 搞定。
如下图:
补充一点 /etc/default/ufw
DEFAULT_FORWARD_POLICY=“ACCEPT” // DROP 改为 ACCEPT(默认是后者)
/etc/ufw/sysctl.conf
net/ipv4/ip_forward=1 #注释符号去掉
好像 /etc/sysctl.conf 也有个,可以检查一下