linux iptables route 小计

近期因为外网接入光猫voip死亡的原因,研究N2N,发现绕不过去iptables和route命令 

  • 先说route

1.1windows

用管理员打开cmd

route add 192.168.0.0 mask 255.255.0.0 192.168.1.1

1. 192.168.x.x的访问都路由到192.168.1.1,192.168.1.1如果是本机地址,那么就通过对应的网卡发送出去;如果192.168.1.1不是本机地址,那么寻找192.168.1.1对应的路由地址

2. route add 0.0.0.0 mask 0.0.0.0 192.168.1.1,说明192.168.1.1是default路由

3. route delete 192.168.0.0 mask 255.255.0.0,删除对应的路由,也可以用route delete default来删除default路由,如果是远程操作,删除操作要谨慎,可能导致设备失联

4. windows的route命令不用太关注网卡,因为route命令无法在网卡间转发数据,也就是不支持NAT,route命令会根据参数网关,自动添加对应的网卡,

5. 跃点数,一般用不到,如果存在多个指向相同地址(网段)的路由,那么跃点数越小,优先级越高

 

1.2 linux(ubuntu)

手头只有ubuntu,以ubuntu为例

1. route add -net 192.168.0.0/16 gw 192.168.1.1 dev eth0

掩码用数字表达,规律很好记

255.255.255.0=24   255.255.254.0=23  255.255.0.0=16   255.0.0.0=8

网关前要加gw修饰

设备名称前加dev修饰

其他与windows没有差异

 

  • 再说iptables

首先,iptables修改完立即生效,iptables -L看到的不全,如果想看完整的可以用如下命令

sudo vim xxxx.txt

sudo chmod a+w xxxx.txt

iptables-save > xxxx.txt

基本的命令

#清空filter表
iptables -F

#清空nat表
iptables -t nat -F

#默认允许所有传出连接
iptables -P OUTPUT ACCEPT

#允许环回接口的传入连接
iptables -A INPUT -i lo -j ACCEPT

#允许所有接口的传入连接
iptables -P INPUT ACCEPT

#允许所有接口的转发连接,注意需要配合下面的修改
iptables -P FORWARD ACCEPT

vi /etc/sysctl.conf
#net.ipv4.ip_forward = 1 #将前面的#删除后保存退出

假设网络如下

主机1:

      192.168.1.1         eth0(外网)

      192.168.143.2     eth1(内网)

主机2:192.168.143.5  与主机1的eth1连同一个交换机

执行如下命令后,添加一个转发的规则,即可实现主机2通过主机1上网,即eth1和eth0之间的转发

 iptables -F
 iptables -P INPUT ACCEPT
 iptables -P FORWARD ACCEPT
 iptables -t nat -A POSTROUTING -s 192.168.143.0/24 -o eth0 -j MASQUERADE

注意,要在外网网卡(eth0)上设置转发,要提前打开linux转发

额外的关键步骤:

1. 主机2要能ping通192.168.143.2,如果不是交换机直连,需要在主机2上设置路由或者网关,确保能访问192.168.143.2

2. 主机1要能上外网,能ping通baidu之类的外网地址,如果不行,主机1上把路由调通

3. iptables修改后直接生效,改乱了清空重来,经常用iptables-save后,查看

 

 

多说几句:

如果是小白,用windows的internet共享就很好,图形化界面;

如果图稳定,一定带机量,硬路由是正路;考虑成本的话,openwrt软路由也是可以的

如果学习,虚拟机装个linux 很合适

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值