IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

linux 简单架设防火墙路由器

PT Ubuntu Blog 2011-01-30 19:34:40 累计浏览 3,591 次
本机暂存

    操作基于ubuntu server10.10 上进行安装配置.进行配置iptables.ip转换.mac过虑功能.

    1.建iptables

以下是代码片段:
    root@ptubuntufirewall:/# vi /etc/init.d/iptables
#fLUSH THE FILTER,NAT,Mangle chain!
/sbin/iptables -F -t filter
/sbin/iptables -F -t nat
/sbin/iptables -F -t mangle

#Flush the user’s chain
/sbin/iptables -t filter -X
/sbin/iptables -t nat -X
/sbin/iptables -t mangle -X

#Set default policies to DROP
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT

#LAN NAT
/sbin/iptables -A POSTROUTING -t nat -s 192.168.0.0/255.255.255.0 -o eth1 -j MASQUERADE
#/sbin/iptables -A POSTROUTING -t nat -s 192.168.0.0/255.255.255.0 -o eth0 -j MASQUERADE

if [ -f /etc/access_mac.conf ]    
then
    for i in `cat /etc/access_mac.conf | grep "^[^#]" | tr -s "[\\012]" | cut -c1-17` ; do
        /sbin/iptables -A FORWARD -m mac -mac-source $i -i eth0 -j ACCEPT
    done
fi

/sbin/iptables -A FORWARD -i eth0 -j DROP
#VNC View Ptubuntu 这下面两条指:访问外网ip可以转换到内网ip:端口
/sbin/iptables -A PREROUTING -t nat -p tcp -m tcp -i eth1 -dport 5888 -j DNAT -to-destination 192.168.0.110:5888
/sbin/iptables -A PREROUTING -t nat -p tcp -m tcp -i eth1 -dport 5988 -j DNAT -to-destination 192.168.0.110:5988
2.设置要过虑的网卡:access_mac.conf
以下是代码片段:
root@ptubuntufirewall:/#vi /etc/access_mac.conf 
#MAC address            Employee Name OR SERVER Name
#Server Netcard Mac Address
00:e0:4c:39:00:00       System Server eth0
00:e0:4c:39:00:00       System Server eth1
00:e0:4c:39:00:00      ptubuntu Server eth0 在这里添加你需要上网的网卡mac地址
3.sysctl设置参数.能用sysctl来设置或重新设置连网功能,如IP转发、IP碎片去除及源路由检查等
以下是代码片段:
     
root@ptubuntufirewall:/# cat /etc/sysctl.conf
     net.ipv4.ip_forward=1  #把0改为1就可以了
4.设置让它自动启动iptalbes.
以下是代码片段:
root@ptubuntufirewall:/# update-rc.d iptables defaults 99

     显示如下表示成功.

以下是代码片段:
update-rc.d: warning: /etc/init.d/iptables missing LSB information
update-rc.d: see 
 Adding system startup for /etc/init.d/iptables …
   /etc/rc0.d/K99iptables -> ../init.d/iptables
   /etc/rc1.d/K99iptables -> ../init.d/iptables
   /etc/rc6.d/K99iptables -> ../init.d/iptables
   /etc/rc2.d/S99iptables -> ../init.d/iptables
   /etc/rc3.d/S99iptables -> ../init.d/iptables
   /etc/rc4.d/S99iptables -> ../init.d/iptables
   /etc/rc5.d/S99iptables -> ../init.d/iptables
5.还需要安装dhcp服务器.
以下是代码片段:
root@ptubuntufirewall:/#aptitude install dhcp3-server
root@ptubuntufirewall:/#vi /etc/dhcp3/dhcpd.conf
文档内容:
以下是代码片段:
option domain-name "ptubuntufirewall.com";
     
option domain-name-servers 8.8.4.4, 8.8.8.8;

default-lease-time 18000;
max-lease-time 36000;
subnet 192.168.0.0 netmask 255.255.255.0 {
  range dynamic-bootp 192.168.0.100 192.168.0.255;
  option subnet-mask 255.255.255.0;
  option broadcast-address 192.168.0.255;
  option routers 192.168.0.252;
  option time-offset -18000;
}
完后需要重启计算机才可以使用.
6.测试:ping
以下是代码片段:
     
root@ptubuntufirewall:/# ping 192.168.0.252
root@ptubuntufirewall:/#ping 8.8.8.8外网IP都可以正常.

7.设置客户端.

现在就可以自动获取ip地址.如果你需要手动设置IP那么你的默认网关就是你路由的IP地址.192.168.0.252
注:在dhcp没有配置好启动会出错.Starting DHCP server: dhcpd3 failed to start - check syslog for diagnostics.

同分类推荐文章

  1. 绿盟科技《APT组织研究年鉴》(2026 版)正式发布 (2026-06-16 20:21:10)
  2. 【已复现】Linux内核Fragnesia权限提升漏洞(CVE-2026-46300) (2026-06-15 10:53:58)
  3. 企业文档安全最佳实践(二):给文档上“身份证”——手动标密与智能自动标密 (2026-06-12 17:18:33)

查看更多 安全 文章 →

建议继续学习

  1. Linux如何统计进程的CPU利用率 (累计阅读 16,308)
  2. 我的 RHCA 之路 (累计阅读 14,013)
  3. Linux内存点滴 用户进程内存空间 (累计阅读 13,232)
  4. 给程序员新手的一些建议 (累计阅读 13,090)
  5. Linux 性能监控、测试、优化工具 (累计阅读 13,013)
  6. 关于linux内存free的一些事情 (累计阅读 12,870)
  7. ps - 按进程消耗内存多少排序 (累计阅读 12,690)
  8. Google怎么用linux (累计阅读 12,583)
  9. Linux Used内存到底哪里去了? (累计阅读 11,868)
  10. find命令的一点注意事项 (累计阅读 11,867)