『壹』 route add 添加路由的命令
route的命令是手動配置路由表,在本地IP路由表中顯示和修改條目,用不帶參數的routeprint可以查看本地路由表信息,詳細步驟:
1、win+R打開資源管理器輸入:cmd點擊:確定,在cmd裡面輸入:route/?來查看route命令和參數的使用。
『貳』 linux如何批量添加靜態路由表
route
add
-net
10.10.101.0
netmask
255.255.255.0
gw
10.10.100.1
route
add
-net
192.168.101.0
netmask
255.255.255.0
gw
192.168.100.1
用vi製作一個腳本
vi
route
...
....
保存一下
#chmod
777
route
#./route
這樣就可以了.
『叄』 Linux中的網路配置怎麼設置
設置網路地址:
cat/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=statics
HWADDR=00:0C:29:13:D1:6F
ONBOOT=yes
TYPE=Ethernet
IPADDR=192.168.0.212
NETMASK=255.255.255.0
BOOTPROTO=statics :表示使用靜態IP地址
ONBOOT=yes:表示開機時,啟動這個網卡。
取動態IP地址地址
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
設置好IP地址,現在還不能生效哦,要重新啟動網卡才可以。
Ifconfig <網路介面名稱> network <子網掩碼>
例:# ifconfig eth0 192.168.1.222 netmask 255.255.255.0
註:手工配置linux網路只限於臨時使用,配置不保存。
擴展:# ifconfig eth0:1 10.0.0.1 netmask 255.0.0.0 一塊網卡配置多個子ip地址。
# ifconfig eth0 hw ether MAC地址 修改網卡的mac地址,
#/etc/rc.d/init.d/networkstart啟動network
#/etc/rc.d/init.d/networkstop停止network
#/etc/rc.d/init.d/networkrestart重啟network
主機名稱配置文件,修改主機名
/etc/sysconfig/network
例:# vi /etc/sysconfig/network 使用vi編輯器打開主機名配置文件。
#vi/etc/sysconfig/network
NETWORKING=yes 網路是否可用。
HOSTNAME=xxxx xxxx為新設置的主機名。
本地主機名稱解析文件
/etc/hosts
Hosts 和 DNS具有類似的主機名稱解析功能
域名伺服器配置文件
/etc/resolv.conf
最多可以設置3行,前面的生效 有些看似很復雜的操作,可能幾個命令就解決了,建議多學習些Linux命令
『肆』 LINUX系統運行和停止路由表的命令分別是什麼
系統路由表是不存在啟動停止的說法的,如果說要停止路由,最簡單的辦法是
echo
0
>
/proc/sys/net/ipv4/ip_forward
這樣你這台機就不能充當路由器了,但路由表還是存在的
如果要清除路由表,只能一行行route
del
,或者自己寫腳本做,沒有現成的命令
『伍』 linux哪一個指令可以
1.split 命令
split命令可以將一個大文件分割多個小文件,有時需要將文件分割成更小的片段,比如為提高可讀性,生成日誌等
選項
-b:值為每一輸出檔案的大小,單位為 byte。
-C:每一輸出檔中,單行的最大 byte 數。
-d:使用數字作為後綴。
-l:值為每一輸出檔的列數大小。
實例
生成一個大小為100kb的測試文件:
[root@localhost split]# dd if=/dev/zero bs=100k count=1 of=date.file
1+0 records
in 1+0 records out
102400 bytes (102 kB) copied, 0.00043 seconds, 238 MB/s
使用split命令將上面創建的date.file文件分割大小為10KB的小文件:
[root@localhost split]# split -b 10k date.file
[root@localhost split]# ls
date.file xaa xab xac xad xae xaf xag xah xai xaj
文件被分割多個帶有字母的後綴文件,如果想用數字後綴可使用 -d參數,同時使用-a length來指定後綴的長度:
[root@localhost split]# split -b 10k date.file -d -a 3
[root@localhost split]# ls
date.file x000 x001 x002 x003 x004 x005 x006 x007 x008 x009
為分割後的文件指定前綴:
[root@localhost split]# split -b 10k date.file -d -a 3 split_file
[root@localhost split]# ls
date.file split_file000 split_file001 split_file002 split_file003 split_file004 split_file005 split_file006 split_file007 split_file008 split_file009
使用-l選項根據文件的行數分割文件,例如把文件分割成每個包含10行的小文件:
split -l 10 date.file
2.chkconfig命令
chkconfig命令檢查、設置系統的各種服務。這是Red Hat公司遵循GPL規則所開發的程序,它可查詢操作系統在每一個執行等級中會執行哪些系統服務,其中包括各類常駐服務。謹記chkconfig不是立即自動禁止或激活一個服務,它只是簡單的改變了符號連接。
語法
chkconfig(選項)
選項
--add:增加所指定的系統服務,讓chkconfig指令得以管理它,並同時在系統啟動的敘述文件內增加相關數據;
--del:刪除所指定的系統服務,不再由chkconfig指令管理,並同時在系統啟動的敘述文件內刪除相關數據;
--level<等級代號>:指定讀系統服務要在哪一個執行等級中開啟或關畢
等級代號列表:
復制代碼
等級0表示:表示關機
等級1表示:單用戶模式
等級2表示:無網路連接的多用戶命令行模式
等級3表示:有網路連接的多用戶命令行模式
等級4表示:不可用
等級5表示:帶圖形界面的多用戶模式
等級6表示:重新啟動
復制代碼
實例
復制代碼
chkconfig --list #列出所有的系統服務。
chkconfig --add httpd #增加httpd服務。
chkconfig --del httpd #刪除httpd服務。
chkconfig --level httpd 2345 on #設置httpd在運行級別為2、3、4、5的情況下都是on(開啟)的狀態。
chkconfig --list #列出系統所有的服務啟動情況。
chkconfig --list mysqld #列出mysqld服務設置情況。
chkconfig --level 35 mysqld on #設定mysqld在等級3和5為開機運行服務,--level 35表示操作只在等級3和5執行,on表示啟動,off表示關閉。
chkconfig mysqld on #設定mysqld在各等級為on,「各等級」包括2、3、4、5等級。
復制代碼
需要說明的是,level選項可以指定要查看的運行級而不一定是當前運行級。對於每個運行級,只能有一個啟動腳本或者停止腳本。當切換運行級時,init不會重新啟動已經啟動的服務,也不會再次去停止已經停止的服務
如何增加一個服務:
1.服務腳本必須存放在/etc/ini.d/目錄下;
2.chkconfig --add servicename在chkconfig工具服務列表中增加此服務,此時服務會被在/etc/rc.d/rcN.d中賦予K/S入口了;
3.chkconfig --level 35 mysqld on修改服務的默認啟動等級
3.ip命令
ip命令用來顯示或操縱Linux主機的路由、網路設備、策略路由和隧道,是Linux下較新的功能強大的網路配置工具。
語法
ip(選項)(參數)
選項
復制代碼
-V:顯示指令版本信息;
-s:輸出更詳細的信息;
-f:強制使用指定的協議族;
-4:指定使用的網路層協議是IPv4協議;
-6:指定使用的網路層協議是IPv6協議;
-0:輸出信息每條記錄輸出一行,即使內容較多也不換行顯示;
-r:顯示主機時,不使用IP地址,而使用主機的域名。
復制代碼
參數
網路對象:指定要管理的網路對象;
具體操作:對指定的網路對象完成具體操作;
實例
用ip命令顯示網路設備的運行狀態:
復制代碼
[root@bogon ~]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:7c:58:21 brd ff:ff:ff:ff:ff:ff
3: pan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
link/ether 52:a2:e3:d1:4e:77 brd ff:ff:ff:ff:ff:ff
復制代碼
顯示更加詳細的設備信息:
復制代碼
[root@bogon ~]# ip -s link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
RX: bytes packets errors dropped overrun mcast
960 16 0 0 0 0
TX: bytes packets errors dropped carrier collsns
960 16 0 0 0 0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:7c:58:21 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
6582303 16976 0 0 0 0
TX: bytes packets errors dropped carrier collsns
2688612 12261 0 0 0 0
3: pan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN
link/ether 52:a2:e3:d1:4e:77 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
0 0 0 0 0 0
TX: bytes packets errors dropped carrier collsns
0 0 0 0 0 0
復制代碼
顯示核心路由表:
[root@bogon ~]# ip route list
192.168.74.0/24 dev eth0 proto kernel scope link src 192.168.74.131 metric 1
default via 192.168.74.2 dev eth0 proto static
顯示鄰居表:
[root@bogon ~]# ip neigh list
192.168.74.1 dev eth0 lladdr 00:50:56:c0:00:08 REACHABLE
192.168.74.2 dev eth0 lladdr 00:50:56:f4:26:2a STALE
192.168.74.254 dev eth0 lladdr 00:50:56:f6:c5:df STALE
4.nmap命令
是一款開放源代碼的網路探測和安全審核工具,它的設計目標是快速地掃描大型網路。
語法
nmap(選項)(參數)
選項
復制代碼
-O:激活操作探測;
-P0:值進行掃描,不ping主機;
-PT:是同TCP的ping;
-sV:探測服務版本信息;
-sP:ping掃描,僅發現目標主機是否存活;
-ps:發送同步(SYN)報文;
-PU:發送udp ping;
-PE:強制執行直接的ICMPping;
-PB:默認模式,可以使用ICMPping和TCPping;
-6:使用IPv6地址;
-v:得到更多選項信息;
-d:增加調試信息地輸出;
-oN:以人們可閱讀的格式輸出;
-oX:以xml格式向指定文件輸出信息;
-oM:以機器可閱讀的格式輸出;
-A:使用所有高級掃描選項;
--resume:繼續上次執行完的掃描;
-P:指定要掃描的埠,可以是一個單獨的埠,用逗號隔開多個埠,使用“-”表示埠范圍;
-e:在多網路介面Linux系統中,指定掃描使用的網路介面;
-g:將指定的埠作為源埠進行掃描;
--ttl:指定發送的掃描報文的生存期;
--packet-trace:顯示掃描過程中收發報文統計;
--scanflags:設置在掃描報文中的TCP標志。
復制代碼
參數
ip地址:指定待掃描報文中的TCP地址。
實例
安裝nmap:
yum install nmap
使用nmap掃描www..com的開放埠:
復制代碼
[root@bogon ~]# nmap www..com
Starting Nmap 5.51 ( http://nmap.org ) at 2016-04-23 00:18 PDT
Nmap scan report for www..com (61.135.169.121)
Host is up (0.0081s latency).
Other addresses for www..com (not scanned): 61.135.169.125
Not shown: 998 filtered ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 4.77 seconds
復制代碼
5.lsof命令
lsof命令用於查看你進程開打的文件,打開文件的進程,進程打開的埠(TCP、UDP)。找回/恢復刪除的文件。是十分方便的系統監視工具,因為lsof命令需要訪問核心內存和各種文件,所以需要root用戶執行。 在linux環境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規數據,還可以訪問網路連接和硬體。所以如傳輸控制協議 (TCP) 和用戶數據報協議 (UDP) 套接字等,系統在後台都為該應用程序分配了一個文件描述符,無論這個文件的本質如何,該文件描述符為應用程序與基礎操作系統之間的交互提供了通用介面。因為應用程序打開文件的描述符列表提供了大量關於這個應用程序本身的信息,因此通過lsof工具能夠查看這個列表對系統監測以及排錯將是很有幫助的。
語法
lsof(選項)
選項
復制代碼
-a:列出打開文件存在的進程;
-c<進程名>:列出指定進程所打開的文件;
-g:列出GID號進程詳情;
-d<文件號>:列出佔用該文件號的進程;
+d<目錄>:列出目錄下被打開的文件;
+D<目錄>:遞歸列出目錄下被打開的文件;
-n<目錄>:列出使用NFS的文件;
-i<條件>:列出符合條件的進程。(4、6、協議、:埠、 @ip )
-p<進程號>:列出指定進程號所打開的文件;
-u:列出UID號進程詳情;
-h:顯示幫助信息;
-v:顯示版本信息。
復制代碼
實例
復制代碼
[root@bogon ~]# lsof | head
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
init 1 root cwd DIR 8,2 4096 2 /
init 1 root rtd DIR 8,2 4096 2 /
init 1 root txt REG 8,2 150352 781872 /sbin/init
init 1 root mem REG 8,2 65928 912175 /lib64/libnss_files-2.12.so
init 1 root mem REG 8,2 1926800 921891 /lib64/libc-2.12.so
init 1 root mem REG 8,2 93320 921921 /lib64/libgcc_s-4.4.7-20120601.so.1
init 1 root mem REG 8,2 47064 921894 /lib64/librt-2.12.so
init 1 root mem REG 8,2 145896 921893 /lib64/libpthread-2.12.so
init 1 root mem REG 8,2 268232 921895 /lib64/libdbus-1.so.3.4.0
復制代碼
lsof輸出各列信息的意義如下:
復制代碼
COMMAND:進程的名稱
PID:進程標識符
USER:進程所有者
FD:文件描述符,應用程序通過文件描述符識別該文件。
DEVICE:指定磁碟的名稱
SIZE:文件的大小
NODE:索引節點(文件在磁碟上的標識)
NAME:打開文件的確切名稱
復制代碼
列出IPV4:
復制代碼
[root@bogon ~]# lsof -i 4
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
cupsd 1655 root 7u IPv4 10859 0t0 TCP localhost:ipp (LISTEN)
cupsd 1655 root 9u IPv4 10862 0t0 UDP *:ipp
sshd 1794 root 3u IPv4 11371 0t0 TCP *:ssh (LISTEN)
master 1922 root 12u IPv4 11741 0t0 TCP localhost:smtp (LISTEN)
clock-app 2407 root 21u IPv4 84677 0t0 TCP localhost:47822->a72-246-188-18.deploy.akamaitechnologies.com:http (CLOSE_WAIT)
dhclient 4407 root 6u IPv4 64541 0t0 UDP *:bootpc
sshd 5037 root 3u IPv4 79891 0t0 TCP localhost:ssh->localhost:58254 (ESTABLISHED)
復制代碼
6.route命令
route命令用來顯示並設置Linux內核中的網路路由表,route命令設置的路由主要是靜態路由。要實現兩個不同的子網之間的通信,需要一台連接兩個網路的路由器,或者同時位於兩個網路的網關來實現。 在Linux系統中設置路由通常是為了解決以下問題:該Linux系統在一個區域網中,區域網中有一個網關,能夠讓機器訪問Internet,那麼就需要將這台機器的ip地址設置為Linux機器的默認路由。要注意的是,直接在命令行下執行route命令來添加路由,不會永久保存,當網卡重啟或者機器重啟之後,該路由就失效了;可以在/etc/rc.local中添加route命令來保證該路由設置永久有效。
語法
route(選項)(參數)
選項
復制代碼
-A:設置地址類型;
-C:列印將Linux核心的路由緩存;
-v:詳細信息模式;
-n:不執行DNS反向查找,直接顯示數字形式的IP地址;
-e:netstat格式顯示路由表;
-net:到一個網路的路由表;
-host:到一個主機的路由表。
復制代碼
參數
復制代碼
Add:增加指定的路由記錄;
Del:刪除指定的路由記錄;
Target:目的網路或目的主機;
gw:設置默認網關;
mss:設置TCP的最大區塊長度(MSS),單位MB;
window:指定通過路由表的TCP連接的TCP窗口大小;
dev:路由記錄所表示的網路介面。
復制代碼
實例
顯示當前路由:
復制代碼
[root@bogon ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.74.0 * 255.255.255.0 U 1 0 0 eth0
default localhost 0.0.0.0 UG 0 0 0 eth0
[root@bogon ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.74.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
0.0.0.0 192.168.74.2 0.0.0.0 UG 0 0 0 eth0
復制代碼
其中Flags為路由標志,標記當前網路節點的狀態,Flags標志說明:
復制代碼
U Up表示此路由當前為啟動狀態。
H Host,表示此網關為一主機。
G Gateway,表示此網關為一路由器。
R Reinstate Route,使用動態路由重新初始化的路由。
D Dynamically,此路由是動態性地寫入。
M Modified,此路由是由路由守護程序或導向器動態修改。
! 表示此路由當前為關閉狀態。
復制代碼
添加網關/設置網關:
[root@bogon ~]# route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0 #增加一條到達244.0.0.0的路由。
屏蔽一條路由:
route add -net 224.0.0.0 netmask 240.0.0.0 reject #增加一條屏蔽的路由,目的地址為224.x.x.x將被拒絕。
刪除路由記錄:
route del -net 224.0.0.0 netmask 240.0.0.0
route del -net 224.0.0.0 netmask 240.0.0.0 reject
刪除和添加設置默認網關:
route del default gw 192.168.120.240
route add default gw 192.168.120.240
『陸』 有懂用Linux如何設置路由的幫忙寫份內網和外網配置清單,解決問題,加分200
保存腳本 把裡面的具體IP替換成你自己的 運行腳本就行了
___________________________
十分基礎的iptables + squid應用 給你個腳本吧 保存為sharenet.sh 並chmod +x sharenet.sh 我給網吧等地方做路由都用這個腳本解決問題
具體的地方根據你的網路環境修改
#!/bin/bash
###--------------------------------------------------------------------###
#以下是定義變數
###--------------------------------------------------------------------###
PATH=/sbin:/usr/sbin:/bin:/usr/bin
RC_SQUID=/etc/rc.d/init.d/squid
EXT_IF=eth1
#外網介面,確定網卡,如果是撥號就用ppp0
INT_IF=eth0
LAN_IP_RANGE="192.168.0.0/24"
STATIC_IP="80.234.71.88"
TRUSTED_TCP_PORT="22 25 53 80 110 143 443 993 995 3389"
TRUSTED_UDP_PORT="53 3389"
ALLOWED_ICMP="0 3 3/4 4 11 12 14 16 18"
###--------------------------------------------------------------------###
#確定iptables安裝情況
###--------------------------------------------------------------------###
which iptables &>/dev/null || {
echo
echo "$(basename $0): iptables程序沒有找到"
echo "請先安裝好這個程序."
echo
exit 1
}
###--------------------------------------------------------------------###
#廢掉ipchains,這是針對redhat以前的版本,新版已經把iptables嵌到內核里了
###--------------------------------------------------------------------###
lsmod | grep ipchains &>/dev/null && {
echo "正在廢掉ipchains服務........."
rmmod ipchains
}
###--------------------------------------------------------------------###
#裝載模塊moles
###--------------------------------------------------------------------###
echo "模塊正在載人......"
modprobe ip_tables &>/dev/null || {
echo -n "$(basename $0): ip_tables模塊載人失敗"
echo "請檢查"
exit 3
}
for file in /lib/moles/`uname -r`/kernel/net/ipv4/netfilter/ip_conntrack_*.o
do
mole=$(basename $file)
modprobe ${mole%.*} &>/dev/null
done
for file in /lib/moles/`uname -r`/kernel/net/ipv4/netfilter/ip_nat_*.o
do
mole=$(basename $file)
modprobe ${mole%.*} &>/dev/null
done
# ------------- 埠開啟 ------------
echo "開啟所要的埠...."
iptables -N services
for PORT in $TRUSTED_TCP_PORT; do
iptables -A services -i $EXT_IF -p tcp --dport $PORT -j ACCEPT
done
for PORT in $TRUSTED_UDP_PORT; do
iptables -A services -i $EXT_IF -p udp --dport $PORT -j ACCEPT
done
#----ipforwarding--------
echo "打開foward功能"
echo "1" > /proc/sys/net/ipv4/ip_forward
#動態ip使用
#
#echo "1" > /proc/sys/net/ipv4/ip_dynaddr
#這里是動態ip實現nat共享必改之處
###---------------------------------------------------###
#清除先前的設定
###---------------------------------------------------###
echo "正在清除先前的設定......."
#清除預定表filter中,所有規則鏈中的規則
iptables -F
#清除預定表filter中,使用者自定鏈中的規則
iptables -X
#清除預定表mangle中,所有規則鏈中的規則
iptables -F -t mangle
#清除預定表mangle中,使用者自定鏈中的規則
iptables -X -t mangle
#清除nat表中的規則
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
###---------------------------------------------------###
#設定預設規則
###---------------------------------------------------###
#預設規則要麼為全部丟棄,要麼為全部接受
#本列為全部丟棄,然後逐步開放,這是安全系數很高的設法
#若目標為DROP,則policy設為ACCEPT;若目標為ACCEPT,則policy設為DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
#TCP的設定
#
#我們丟棄壞的TCP包
#
iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP
#區域網共享的實現
#iptables -t nat -A POSTROUTING -o $EXT_IF -s $LAN_IP_RANGE -j SNAT --to-source $STATIC_IP
iptables -t nat -A POSTROUTING -o $EXT_IF -j MASQUERADE
echo "區域網共享的已實現,請試用區域網機器"
#這一步實現區域網內部機對外部網開放
#凡對$STATIC_IP:80連線者,則轉址到192.168.0.100:80
iptables -t nat -A PREROUTING -d 80.234.71.88 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.100:80
iptables -A FORWARD -p tcp -d 192.168.0.100 --dport 80 -j ACCEPT
iptables -t nat -I POSTROUTING -s 192.168.0.0/255.255.255.0 -p tcp -d 192.168.0.100 --dport 80 -j SNAT --to 192.168.0.1
#192.168.0.250裝有win2003,提供遠程桌面服務
iptables -t nat -A PREROUTING -d 80.234.71.88 -p tcp --dport 3389 -j DNAT --to-destination 192.168.0.250:3389
iptables -A FORWARD -p tcp -d 192.168.0.250 --dport 3389 -j ACCEPT
#允許內網機使用外網機的IP訪問內網機,把內網機的IP轉換成網關IP
iptables -t nat -I POSTROUTING -s 192.168.0.0/255.255.255.0 -p tcp -d 192.168.0.250 --dport 3389 -j SNAT --to 192.168.0.1
#允許要轉向的包
iptables -A FORWARD -i $INT_IF -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
#對於不管來自哪裡的ip碎片都進行控制,允許每秒通過100個碎片
iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
#icmp包通過的控制,防止icmp黑客攻擊
iptables -A FORWARD -p udp -d $LAN_IP_RANGE -i $EXT_IF -j ACCEPT
#這一條是針對oicq等使用udp服務而接收所有的udp包
#開放主機的ssh port 22,使內部機以ssh連至外部
iptables -A OUTPUT -o $EXT_IF -p tcp -s $STATIC_IP --sport 1024:65535 -d any/0 --dport 22 -j ACCEPT
iptables -A INPUT -i $EXT_IF -p tcp ! --syn -s any/0 --sport 22 -d $STATIC_IP --dport 1024:65535 -j ACCEPT
#防止外網用內網ip欺騙
iptables -t nat -A PREROUTING -i $EXT_IF -s 192.168.0.0/16 -j DROP
iptables -t nat -A PREROUTING -i $EXT_IF -s 10.0.0.0/8 -j DROP
iptables -t nat -A PREROUTING -i $EXT_IF -s 172.16.0.0/12 -j DROP
#-----------透明代理------------
$RC_SQUID status | grep pid &>/dev/null && {
echo "透明代理實現"
INT_IP=$(ifconfig | grep $INT_IF -A 1 | awk '/inet/ {print $2}' | sed -e s/addr\://)
if [ -z "$INT_IP" ]; then
echo
echo "$(basename $0): $INT_IF沒有IP存在"
echo "請檢查$INT_IF是否正確配置了"
echo
exit 3
fi
}
exit 0
## EOS
『柒』 我現在要給Linux路由器編寫一個配置界面 應該怎麼做
web界面可以,實際設置的程序可以用C寫,web界面的鏈接直接鏈到這個C程序上,C程序中可以用printf語句輸出執行結果的各種信息到web界面上,甚至可以按照html輸出一個很漂亮的頁面。不要忘了把C程序設置成可執行屬性。
『捌』 寫個shell腳本 開機自動添加路由表怎麼寫 Linux Fedora系統 主要是想把路由表永久保存
1、在/etc/sysconfig/static-routes里添加
static-routes的寫法是any net 192.168.0.0/16 gw 192.168.0.1
any net 192.168.3.0/24 gw 192.168.3.254
any net 10.250.228.128 netmask 255.255.255.192 gw 10.250.228.129
檢查vi /etc/init.d/network
# Add non interface-specific static-routes.
if [ -f /etc/sysconfig/static-routes ]; then
2、在route-eth0里添加
在/etc/sysconfig/network-scripts/route-eth0
添加10.203.166.0/25 via 10.203.166.1 dev eth0
『玖』 如何使用Linux系統腳本簡化無線網路
如果您使用一些很容易購買到的設備和 Linux�6�4 來構建網路,那麼可以利用 shell 腳本的強大功能來簡化網路的管理。本文將提供一些您所需要的技巧和腳本。 使用現有的無線路由器創建一個小型的無線網路非常簡單。但是為辦公室、公寓或鄰居提供符合業界標準的無線鏈接就是另外一回事了。在構建好無線網路之後,就可以運行無線 Internet 服務提供者(WISP)服務。要運行 WISP,則需要回答以下問題: ● 所提供的到 Internet 的連接品質如何? ● 哪些客戶機可以直接連接到網路上,這些連接的品質又如何? ● 有足夠的帶寬滿足峰值的需求嗎? ● 最近有哪些客戶機連接到網路上,它們的活動頻率如何? ● 哪些客戶機具有可靠的連接,哪些客戶機的連接不可靠? ● 客戶機有許多傳輸錯誤並需要重試嗎? ● 所安裝的軟體包有可升級的版本嗎? ● 大文件會佔用很多空間嗎? ● 如何簡化客戶機的管理? 在本文中,您將學習如何使用 Linux腳本來回答這些問題。在開始之前,首先需要設置伺服器。 無線伺服器硬體 我之所以成為一名無線 Internet 服務提供者,是因為我的鄰居沒有 DSL 或其他 Internet 接入服務。另外一個 WISP 從附近的一個山頂上提供了一條(昂貴的)連接,因此我決定購買這個服務,與鄰居們共享帶寬,並共同承擔費用。訪問點的無線卡會生成一個非常微弱的信號,因此,為了將信號丟失的情況降至最低,我希望能夠將天線做得盡可能的短。還希望能夠架設一條戶外天線,這樣就可以讓更多的鄰居可以訪問這個無線鏈接。這兩種設備讓我可以將伺服器設置在戶外的天線上(參考資料 的鏈接中給出了一張圖片,還提供了有關此文中討論的產品和包的信息)。這個示範性的伺服器是一個現有的無線訪問點(WAP),它安裝在一個防水的 Pelican 箱子中。它並不是非常可靠,因此我常常需要爬上屋頂來解決問題。我需要使用一架梯子來幫助我爬上爬下,以後還需要將這個訪問點升級成一個更可靠的系統。下一代的硬體將會: ● 非常可靠。 ● 支持 10 台客戶機,另外提供一些系統管理工具。 ● 使用一個標準的無線網卡。 ● 支持通過乙太網加電啟動。 ●是 Linux 友好的。 我購買了一塊很便宜的系統板(Soekris Engineering 的 net4521),它可以完全滿足這些需求,並且可以使用一塊 Compact Flash Card,而不必再使用硬碟。這塊系統板不用製冷風扇就可以在溫度變化很大的環境中使用。 無線卡晶元確定了該系統板是 Linux 友好的, Intersil/Conexant Prism2/3 晶元也對 Linux 提供了很好的支持。 Linux 軟體Pebble Linux 是一個專門為嵌入式無線應用程序設計的發行版。為其取名 Pebble 就是因為它非常小,並且很簡單。這個系統中包含了一些很好的特性,例如: ● 為實現無線使用而定製的內核;這樣就不需要再重新編譯內核。 ● 大小;整個系統很小,可以放到一塊很小的 Compact Flash Card 中,所以不再需要硬碟驅動器。 ● 以只讀方式裝載文件系統,因此,即使斷電也不會造成文件系統崩潰。 ● 因為基於 Debian Linux 發行版,所以可以使用 Debian 的包。 ● 具有很好的支持。 Pebble Linux 包括很多可用的無線包,利用 Debian 的 apt-get 很容易添加其他包。您可能希望通過在另外一台伺服器上放置一些包(例如 ntop)來共享工作負載。這些包可以在一塊系統板上與 10 台客戶機很好地運行,而不會過度浪費處理器或內存。以下是我推薦的幾個開源包: ● Wonder Shaper,用來確保客戶機平等地共享帶寬。 ● Wireless Tools(WT),用來與無線驅動器進行通信。 ● Host AP,用於 Prism2/3 晶元的無線訪問點軟體。 ● pcmcia-cs,用來管理無線網卡。 ● logrotate,用來壓縮或刪除日誌。 ● Net-SNMP,用來收集路由器輸出。 ● ntop,用來以圖形形式顯示利用情況的統計信息。