LINUX做为网关,让其他机子共享上网。如何设置?

不懂必须要问 2012-07-11 02:40:12

eth0 Link encap:Ethernet HWaddr 00:0C:29:48:3F:D9
inet addr:192.168.88.4 Bcast:192.168.88.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe48:3fd9/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:119 errors:0 dropped:0 overruns:0 frame:0
TX packets:125 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:14740 (14.3 KiB) TX bytes:17219 (16.8 KiB)
Interrupt:19 Base address:0x2000

eth1 Link encap:Ethernet HWaddr 00:0C:29:48:3F:E3
inet addr:192.168.99.200 Bcast:192.168.99.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe48:3fe3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:79 errors:0 dropped:0 overruns:0 frame:0
TX packets:43 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:9103 (8.8 KiB) TX bytes:2646 (2.5 KiB)
Interrupt:16 Base address:0x2080

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)


eth1 这个是内网给他们作为网关,让他们共享上网。
eth0 这个是别人分配的一个可连接互联网IP。

我要怎么样设置呢?才可以让192.168.99.201、192.168.99.202、192.168.99.203、192.168.99.20x……等机器上网呢?

主机:
IP:192.168.99.201
掩码:255.255.255.0
网关:192.168.99.200
DNS:192.168.99.200

这样上不了网……
...全文
1157 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
MiltonZhong 2012-08-08
  • 打赏
  • 举报
回复
晕。还搞得那么复杂,做squid代理就行啦
ks520813 2012-07-26
  • 打赏
  • 举报
回复
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -I POSTROUTING -s 192.168.1.0 255.255.255.0 -j SNAT --to-source 1.1.1.1(公网IP)
需要注意用LINUX做网关如果网络换景及需求简单的话就按照
1.开启系统路由转发:echo "1" > /proc/sys/net/ipv4/ip_forward
2.设置防火墙规则:iptables -t nat -I POSTROUTING -s 192.168.1.0 255.255.255.0 -j SNAT --to-source 1.1.1.1(公网IP)
如果没啥限制胡话就把filter表中的FORWARD链默认规则设置为允许:iptables -P FORWARD ACCEPT
和NAT表中的PREROUTING链也设置允许:iptables -t nat -P PREROUTING ACCEPT,不过 默认的这两个就是允许,用iptables -L --line看一下最好。然后保存service iptables save 。如果要是做限制比如禁止访问那些网站以及做Qos的话就比较麻烦点
Linux-Torvalds 2012-07-26
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

echo "1" > /proc/sys/net/ipv4/ip_forward
运气好做这一个就OK了
[/Quote]仅仅如此,是不行的,iptables中要设置。
daviddb7 2012-07-16
  • 打赏
  • 举报
回复
echo "1" > /proc/sys/net/ipv4/ip_forward
运气好做这一个就OK了
不懂必须要问 2012-07-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

C/C++ code
首先创建两张路由表,只需要添加到相应的文件中即可,Linux一共支持255个路由表,rt_tables文件中默认已经存在了三张路由表,分别是:

255 local

254 main

253 default

[root@localhost ~]# echo "10 cnc" >> /etc/iproute2/rt_tables

[root@lo……
[/Quote]


看鸟哥的不错……
孤独小剑 2012-07-12
  • 打赏
  • 举报
回复
首先创建两张路由表,只需要添加到相应的文件中即可,Linux一共支持255个路由表,rt_tables文件中默认已经存在了三张路由表,分别是:

255 local

254 main

253 default

[root@localhost ~]# echo "10 cnc" >> /etc/iproute2/rt_tables

[root@localhost ~]# echo "20 cernet" >> /etc/iproute2/rt_tables

注意:路由表前面的数字只是编号并不代表优先级,路由表没有优先级,只有策略规则才有优先级。

以下配置内容每次重启系统后都会消失,所以要把脚本设置为随系统一块启动。

######################配置脚本###############################

#!/bin/bash
#加载iptables的nat和filter模块,iptables服务最好设置成在开机时自动运行
modprobe iptable_nat
modprobe iptable_filter

#打开Linux内核包转发功能
echo "1" > /proc/sys/net/ipv4/ip_forward

#配置接口的IP地址,并激活接口
#eth0连接联通线路,eth1连接教育网线路,eth2下连三层交换机
#这里使用iproute2的新命令来配置IP,不在使用旧的命令如:ifconfig
ip address add 115.158.113.164/25 dev eth0
ip link set dev eth0 up
ip address add 10.212.46.100/24 dev eth1
ip link set dev eth1 up
ip address add 10.10.10.1/30 dev eth2
ip link set dev eth2 up

#向路由表中添加路由
#向cnc路由表中添加一条默认路由
ip route add default via 115.158.113.129 table cnc
#向cernet路由表中添加一条默认路由
ip route add default via 10.212.46.1 table cernet

#向主路由表中添加指向内部网段的路由,不然数据包反回时找不到路由信息
ip route add 192.168.100.0/24 via 10.10.10.2 table main
ip route add 192.168.200.0/24 via 10.10.10.2 table main

#设置路由规则rule,注意规则是按优先级来执行的。
#所有目的地访问115.158.119.0/25网段的用户都走cernet线路出去。
ip rule add from 0.0.0.0/0 to 115.158.119.0/25 table cernet pref 99
#网段192.168.100.0/24的用户都走联通线路出去,优先级设置为100
ip rule add from 192.168.100.0/24 table cnc pref 100
#网段192.168.200.0/24的用户都走教育网线路出去,优先级设置为101
ip rule add from 192.168.200.0/24 table cernet pref 101

#刷新路由表,使新配置的路由生效
ip route flush cache

#按求对数据包进行NAT转换
#把192.168.100.0/24网段的用户的源IP转换成联通线路接口的IP
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -j SNAT --to 115.158.113.164
iptables -t nat -A POSTROUTING -s 192.168.200.0/24 -j SNAT --to 10.212.46.100

######################结束##################################

摘自:http://www.num123.com/post/95
已成功在虚拟机中配置成功。
SunnyCoffee 2012-07-11
  • 打赏
  • 举报
回复
linux上不知道怎么操作,但是windows上可以设置共享,也就是将eth1设置为共享的,共享对象为eth0这样就可以了。
不懂必须要问 2012-07-11
  • 打赏
  • 举报
回复
我用的是LINUX做的,因为只提供LINUX机器上网。
孤独小剑 2012-07-11
  • 打赏
  • 举报
回复
纠正下:几个网卡都无所谓。
找桥接网卡的资料吧。http://bbs.51cto.com/topic/thread-933302.html
孤独小剑 2012-07-11
  • 打赏
  • 举报
回复
其实这个做个桥接应该就可以了。
我只有一个网卡,用的是海蜘蛛的软路由。
Shout down –n now 关机时同步备份内存中的数据 useradd + 用户 创建用户 userdel + user 可以用来删除用户 passwd + user 更改用户密码(不加user ,则更改当前用户密码) poweroff 关机 reboot 重启 vim vi 下 :wq 在vim or vi 后保存退出 :q 不保存退出 :q! 强制退出 在非insert 下可用 x来删除光标所在处字符 dw 可以删除一个单词 d 用来删除一行 w - 从当前光标当前位置直到单字/单词末尾,包括空格。 e - 从当前光标当前位置直到单字/单词末尾,但是 *不* 包括空格。 $ - 从当前光标当前位置直到当前行末。 u 来撤销最后执行的命令 dd 删除整行 yy复制 按p 粘贴 gg 到首行 G 到最后一行 输入 p 将最后一次删除的内容置入光标之后 输入 r 和一个字符替换光标所在位置的字符 按下 SHIFT-G 键可以使得当前光标直接跳转到文件最后一行 /string 下搜索 shift +n 向上搜索 n 向下搜 ?string 上搜索 gedit + name 用来图形化编辑 rmdir 删除目录 rm 删除文件 sed 's/cat/dog/' cats 将cats 文件中cat 替换成dog cd – 可以使回到上次的目录 eg./tmp/jack/rose/love 先在love 目录下,后回到jack目录下cd – 后回到love 目录下 /etc/passwd /etc/shadow /etc/group /etc/gshadow 与user 有关的文件 chmod u/g/o/a +/-/= /r/w/x file name 改权限 -r 递归改 R 100=4 W 010=2 X 001=1 数字表示法 chown user file 改文件所有用户 chown user。group file 改文件的用户与所属组 chgrp group file 改文件所有组 usermod –G(g覆盖原组) grpup user改用户属于什么组(共享的组,即同时可以在多个组中) df 查看分区信息 sda 串口硬盘 —h 可读的 du 查看当前目录下的使用情况 fdisk –l 查看磁盘分区信息 mkfs 查看格式化的版本 eg. mkfs.ext4 +设备 格式化 mount 查看挂载信息 virtual-manage 打开虚拟机 eg. mv /usr/bin/passwd /usr/bin/pw 将改密码的命令passwd 改为pw pwd 用户目前存在位置 cp file [file2] directory mv file [file2] directory 剪切 or 改名字 rm –r directory==rmdir rm file rm –rf directory [file] 在/etc/redhat-release 中存放RHEL的版本信息 env LANG= 语言 tail –f file 使查看的文件不断更新查看 cut –d:(:为指定通配符,:可以另外改) –f1(1为通配符前第几个,可以改) file wc 统计单词,行数 sort 排序 command1| command2 command1的输出是command2的输入 DNS全球通用的: 8.8.8.8 DHCP :动态分配IP地址 255.255.255 网络段 0 主机 ifconfig –a 查看所有网卡 mask 子网掩码,分辨网络地址,与主机地址 改IP地址: /etc/sysconfig/network-scripts 在此目录下,文件名与网卡名要一样 Vim ifconfgi eth0(网卡) 在我虚拟机上的是ifcfg-eht0 可以将”dhcp” 改成”static ”(静态的) 增加IPADDR=ip地址 Onboot=yes (用来是否开关此网卡) ipaddr=…… NETMASK=子网掩码 GATEWAY=网关 or service network restart(reload) /etc/init.d/network restart(reload) Ifdown(ifup) eth0 开关网卡 /etc/init.d networkmanager stop /etc/init.d/network restart 重启网络网卡 Chkconfig networkmanager off 关闭此服务 配置dns : vim /etc/resolv.conf nameserver(命令) ip 立刻生效 hostname 主机名 /etc/sysconfig/network (里面有全局网关gateway) hostname +主机名 可以立刻改名,但未写入文件中 /etc/hosts 本地域名解析,可以改自己定义的域名 ip 域名(www……..) startx 启动图形界面 ssh 用户名@ip 以此用户名登陆 scp file1 ip:file2 远程将本机file1拷贝到ip为此的机子的目录下 scp ip:file1 file2 远程将ip 的file1拷贝到本机file2 中 ln –s file1 file2 为file1创建file3的软连接 ln –s file1(绝对路径) file2(绝对路径) 可以为file1 跨目录连接到file2 ln file1 file2 为file1创建file3 的硬连接 同时删除file1 和file2 才能删除文件 分发系统: 1. 支持pxe client 功能,有pxe的网卡 (client端) 2. 有配置文件config system-config-kick 创建kick 文件 (server端) 3. 为安装文件提供Kickstar文件 /etc 4. client端通过pxe处获取config的文件然后重启 用dhcp协议 用tftp协议 tar –cvfz 打包 tar –xzvf 解压 -tvf 查看打包的里面的文件 [abc….] 【】中任意一个单词匹配 [^abc….] 不与[ ]中任意一个单词匹配 ^word 行首匹配 $word 行尾匹配 2> 将错误输入到…….. eg. cp –rf /etc/passwd /tmp 1 > (正确重定向)file 2> (错误重定向) grep …. 过滤只有…. /etc/fstab 查看所有挂载 /dev/sda[number] 挂载点(/mnt) 文件格式(ext4)defaults kdump(备份) 加电自检否 0 0 1 1 2 2 1备份级别高 2备份级别低 0 不会执行 mount –a 重新执行/fstab表的内容 即重新挂载 增加swap分区: 在分区内容下,即command ……下 t l 数字 将分区变成swap的 partx –a 硬盘 mkswap 分区 挂载 swapon 分区 使分区生效 free –m 查看swap 或者swapon –s swapoff 分区 可以使某个swap分区关闭方便其他使用 /etc/inittab 有开机时启动关的数字选项 具体可用 init number 来命令 umask (权限掩码) 可用命令umask 查看 改变umask : umask 0022 隐藏权限:chattr 用lsattr file 可看隐藏权限 chattr +a/e file 改变特殊权限(针对非root用户) chmod u-s file 可以去掉特殊权限 +s 关闭selinux /etc/sysconfig/selinux suid 针对文件 rwsrwxrwx 拥有者有x权限的基础才能有s权限 其他用户可以临时的拥有用户的权限 sgid 针对文件与目录 临时拥有用户组的权限 eg.chgrp group directory chmod g+s(-s) directory 则以后directory 的file全属于组g sbit 针对目录 当other中有x位有t 权限 除文件拥有者,root外对directory内的file 不可删,但可以写入 4 suid 2 sgid 1 sbit chmod u+s directory g+s o+t 有效用户组:排第一位的组 groups user 查看user的组 改有效用户组: 在当前用户下 newgrp group(此组为user属于的组) rpm 包 相当于一个exe文件 rpm包: rpm –i (install) 包名 -v(显示信息) 包名 -h (show) yum库: 将许多包关联,使包可以一起安装不需要用rpm 一个一个的装 ldap:统一名字(在服务器上) authconfig-tui 打开ldap 空格键 确定选中 用图形用户打开ldap: system-config-authentication /etc/init.d/NetworkManager status 查看状态 一般关闭,否则许多网络的服务不能起来 iptables –F 清空所有网卡规则 crontab(计划任务): 查看:crontab –l 编辑: crontab –e –u user 配置文件: 分 时 日 月 周 看最后一行:* * * * * user command(如果不用在此时间则用* eg. 10 8 * * * /bin/echo “jdsj”) 每隔10Min执行一次 */10 * * * *…. 几点到几点: * 8--10 * * * ….. 每天8点到10点做什么 * 9,15 * * * ..每天9点,15点提醒做什么 service crond restart 在设置好提醒后重启服务 提醒会在邮箱中 在/etc/crontab中MAILTO =user则会在邮箱提醒,否则刷屏提醒 /etc/cron.deny 禁止使用计划任务 计划任务中执行脚本: command 处写 sh *.sh(脚本文件) quota(磁盘配额:限制个人所用的磁盘大小):目录在哪分区,则针对某分区进行磁盘配额 检测:edquota –u user edquota –g group 修改fstab表:defaults,usrquota,grpquota 重新挂载 :mount –a or mount –o remount /(directory or device) 强制检测并开启quota :quotacheck –avugcm quota -avug edquota –u user 查看是否开启了:quota –u user ntp :同步时间 vim /etc/ntp.conf 在注释hosts on local ….处 restrict ip 下面: server ip 服务端设置: 在use inaccurate…… server ip fudge….打开注释即可 ntpq –p (查看ntp server是否还在) vim /etc/grub.conf timeout=number 开机读秒数 default=num 启用的内核 vim /etc/inittab id:num:initdefault (启动时用的是否是图形界面等) find /dircetory –name filename –user username(属于user 的文件) -group groupname -user username not –group groupname(其他组) -exec(前面的结果相当于后面命令的输入) 连接前后命令 相当于管道符 eg. find / -user username –exec cp [参数] {} /directory \; vim .bash_profile 环境变量文件 bios mbr boot lo(grub.conf 在开机时识别kernel) kernel 防火墙级别: 1. 硬件防火墙 2. tcp_wrapper(用来分析tcp/ip封包的软件) 3. iptables 基于数据流的防火 4. 内核级别:selinux 5. 服务本身

19,613

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧